A polynomial $P(x)$ of degree $n \geq 5$ with integer coefficients and $n$ distinct integer roots is given. Find all integer roots of $P(P(x))$ given that $0$ is a root of $P(x)$.
This is an old Czech math olympiad problem (1998) that I cannot find a solution to. Any ideas?
If $p(p(x))=0$ then $p(x)=n$ where $n$ is a root of $p$. Thus we have $$n=x(x-n)q(x)$$ where $q(x)$ is the product of at least three integers. Since $x|n-x+x$ we have $x|n-x$ and since $n-x|n-x+x$ we have $n-x|x$ thus $n-x=\pm x$ the plus sign must hold since otherwise $n=0$. And the equation becomes $$2x=\pm x^2 q(x)$$ or if $x\neq 0$, $$2=\pm xq(x)$$ where $q(x)$ is a product of at least three distinct integers. This is impossible. Thus we must have either $x=0$ or $n=0$, in the latter case we see that $p(x)=0$ so $x$ is a root of the original polynomial, this includes $x=0$.