Show that there exist only $n$ solutions 
Let $P(x)$ be a polynomial of degree $n>1$ with integer coefficients, and let $k$ be a positive integer. Consider the polynomial $Q(x) = P( P ( \ldots P(P(x)) \ldots ))$, where $P$ occurs $k$ times. Prove that there are at most $n$ integers $t$ such that $Q(t)=t$.

Source: IMO 2006, #5.
I know it can't be this easy, but this is what I came up with. 
$Q(t) = t$ shows that $P(t) = t$ and $P(P(t)) = t$, let
$r(x) = P(x) - x$ then $\deg r(x) = \deg P(x) = n \ge 2$.
Suppose there are $\ge n + 1$ solutions for $Q(t) = t$, consider them $t_1, t_2, ..., t_n, t_{n+1}$
Consider the least case: There are $n+1$ solutions for $Q(t) = t$.
Hence, $t_1, t_2, t_3, .. , t_n, t_{n+1}$ all satisfy $P(t) = t$. 
The roots of $r(x)$ are $t_1, t_2, ..., t_{n+1}$ (from the assumption), which means $r(x)$ has at least $n+1$ solutions, contrary to the fundamental theorem of algebra and the given that $P(x)$ has degree $n$. 
 A: Let $R$ be the set of integer roots of $Q(x)=x$.  If possible, let $|R| > n> 1$.  Let $x_0 \in R$, and denote $x_{i+1}=P(x_i)$.  Then we may note $x_k = x_0$ and all $x_i \in R$.  
Now $a, b \in \mathbb Z \implies (a-b) \mid (P(a)-P(b))$.  Using this, we can establish a chain:
$$(x_1-x_0) \mid (x_2-x_1) \mid \cdots \mid (x_k-x_{k-1}) \mid (x_1-x_0)$$
$$\implies \forall \; i, j\quad |x_{i+1}-x_i| = |x_{j+1}-x_j| $$
Further, as $\sum_i (x_i-x_{i-1}) = 0$, we must either have the possibility that $x_i = x_j$ for all $i, j$, or there are an equal number of positive and negative terms being summed (which is possible only for even $k$).
In the first possibility, (which is the only case for odd $k$, and essentially is the case $k=1$), we must have $\forall x_0 \in R, \;P(x_0) = x_0$, so the $n$th degree polynomial $P(x)-x$ has $|R|> n$ roots, which is impossible.
Otherwise, we must have at least one link in the chain above where the sign reverses, i.e. there is some $j$ s.t. $x_j-x_{j-1} = x_j-x_{j+1} \implies x_{j-1}=x_{j+1} \implies (P\circ P)(x_{j-1}) = x_{j-1}$, so every alternate term must be the same.  Thus $\forall x_0 \in R, \; (P \circ P)(x_0) = x_0$.  This is essentially the base case $k=2$.
For case $k=2$:  $\forall r \in R$, if $P(r) = r$, then this is again case $k=1$.  Else, let $P(s) \neq s$ for some $s \in R$.  Then for any $r \in R$, we can construct the chains:
$$(r-s) \mid (P(r) - P(s)) \mid (r - s) \implies |r-s| = |P(r)-P(s)|$$
$$(r-P(s)) \mid (P(r) - s) \mid (r - P(s)) \implies |r-P(s)| = |P(r) - s|$$
Together this gives $P(r)+r=C$, some constant irrespective of $r$, whence the $n$th degree polynomial $P(x)+x-C$ has all $r \in R$ as roots, which leads to a contradiction when $|R|> n$.
