Let α1<α2<⋯<αn be the roots of f(x). Assume that
x(x+1)(x+2)(x+4)f(x)+a=gk(x).
Note that a=bk=gk(0).
If k≥3 is odd then the polynomial gk(x)−bk has n+4 distinct real roots which will be also roots of g(x)−b. However, the degree of g(x)−b is (n+4)/k<n+4, i.e. g(x)=b, which is impossible.
Now it is enough to prove that k=2 is also impossible. We have a=b2, where we can assume that b>0. Then
x(x+1)(x+2)(x+4)f(x)=g1(x)g2(x),
where g1(x)=g(x)+b and g2(x)=g(x)−b. The roots of g1(x) and g2(x) are the numbers −4,−2,−1,0,α1,…,αn. Since g1(x)>g2(x) for every x, the number −4 is a root of g1(x). Since the derivatives of g1(x) and g2(x) coincide, the Rolle's theorem shows that −2 and −1 are roots of g2(x) while 0 is a root of g1(x).
Let g1(x)=x(x+4)∏j=1s(x−αj). Then
∣g1(−1)∣=3j=1∏s(1+αj)<4j=1∏s(2+αj)=∣g1(−2)∣,
which contradicts to g1(−1)=g1(−2)=g(−1)+b=2b.