Find all polynomials $P$ with integer coefficients such that all the roots of $P^n(x)$ are integers. (here $P^n(x)$ means $P(P(...(P(x))...))$ where $P$ is repeated $n$ times)
1. **Degree Analysis**: Let $\deg P = n$. If $n = 0$, then $P(x)$ is a constant polynomial, which cannot have all integer roots for $P^n(x)$ since it would imply infinitely many roots. Thus, $n \geq 1$.

2. **Claim 1**: If $P(a) = 0$ for some integer $a$, then $P(x) - a$ has $n$ roots (repeated roots are allowed).
   - **Proof**: Consider $P(P(x))$ which has $n^2$ integer roots. Let $\{a_1, a_2, \dots, a_n\}$ be the integer roots of $P$. Suppose for some $i$, $P(x) = a_i$ has fewer than $n$ solutions. By the Pigeonhole Principle, there exists some $1 \leq j \leq n$ such that $P(x) = a_j$ has at least $n + 1$ solutions. Since $\deg P = n$, this implies $P(x) = a_j$ for all $x \in \mathbb{R}$, making $P$ a constant, which is a contradiction. Therefore, $P(x) = a_i$ must have exactly $n$ solutions for each $a_i$ being a root of $P$. This implies $P(x) - a$ has at least one integer solution for any $a$ root of $P$.

3. **Claim 2**: The set $\mathcal{R}$ of all roots of $P^n(x)$ for any $n \in \mathbb{N}$ is finite.
   - **Proof**: Consider a directed graph where all members of $\mathcal{R}$ are vertices. Draw an edge from $a \to b$ if $P(b) = a$. From Claim 1, every vertex has an outdegree. Suppose $\mathcal{R}$ is infinite, implying the graph is infinite. Take an infinite path in the graph: $0 \to v_1 \to v_2 \to v_3 \to \dots$ where $P^i(v_i) = 0$ for all $i \in \mathbb{N}$. Assume $P$ has a positive leading coefficient.
     - **Subclaim**: $\mathcal{R}$ has an upper bound.
       - **Proof**: Suppose otherwise. Since $P$ has a positive leading coefficient, $P^i(x) > P^i(y)$ for all $x > y > C$ for some constant $C$. Since $\deg P \ge 2$, $P(x) > x$ for large $x$, implying $P^k(x) > x$ for large $x$ (for all $x > C_2$ for some constant $C_2$). Take large $v_i > v_j > \max(C, C_2)$ and $i > j$. Then $0 = P^i(v_i) > P^i(v_j) > P^j(v_j) = 0$, a contradiction.
     - **Subclaim**: $\mathcal{R}$ has a lower bound.
       - **Proof**: Suppose otherwise. If $P$ is of even degree, the same method as above works. If $P$ is of odd degree, $P^i(x) < P^i(y)$ for all $x < y < C$ for some constant $C$. Since $\deg P \ge 2$, $P(x) < x$ for small $x$, implying $P^k(x) < x$ for small $x$ (for all $x < C_2$ for some constant $C_2$). Take small $v_i < v_j < \min(C, C_2)$ and $i > j$. Then $0 = P^i(v_i) < P^i(v_j) < P^j(v_j) = 0$, a contradiction.
   - Therefore, $\mathcal{R}$ has an upper and lower bound, forcing $\mathcal{R}$ to be finite, a contradiction.

4. **Claim 3**: $P$ has a unique root.
   - **Proof**: Let $\mathcal{R} = \{r_1, r_2, \dots, r_k\}$. We have $P(r_i) = r_j$ for any $1 \le i, j \le k$. Since $P: \mathcal{R} \to \mathcal{R}$, there is a unique bijection $\sigma: \{1, 2, \dots, k\} \to \{1, 2, \dots, k\}$ such that $P(r_i) = r_{\sigma(i)}$. Considering the directed graph where $\{1, 2, \dots, k\}$ are vertices, and connecting edges $i \to \sigma(i)$, there must be a cycle. Since $P \in \mathbb{Z}[x]$, the fixed point of $P \circ P \circ \dots \circ P$ is also a fixed point of $P \circ P$. Thus, $P(P(r_i)) = r_i$ for all $1 \le i \le k$. Taking $r_i$ to be the roots of $P(x)$, we have $r_i = P(P(r_i)) = P(0)$, which is unique. Therefore, there is a unique root of $P(x)$.

5. **Form of $P(x)$**: Let $r = P(0)$. We know $P(x) - r$ has only $0$ as its root. Thus, $P(x) - r = ax^b$ for some $a \in \mathbb{Z}_{\not= 0}$ and $b \in \mathbb{N}_{\ge 2}$. This gives us $P(x) = ax^b + r$. Since $P$ only has one root, $P(r) = P'(r) = 0$.
   - Solving $ar^b + r = 0$ and $abr^{b - 1} = 0$, we find $r = 0$. Thus, $P(x) = ax^b$ for $a \in \mathbb{Z}_{\not= 0}$ and $b \in \mathbb{N}_{\ge 2}$.

6. **Linear Case**: If $P(x) = ax + b$ where $a \in \mathbb{Z}_{\not= 0}$ and $b \in \mathbb{Z}$, $P(x)$ has an integer root, so $a \mid b$. Rewrite as $P(x) = a(x + c)$ for some $c \in \mathbb{Z}$. Notice $P^n(x) = 0$ has $-\frac{c}{a^{n - 1}} - \frac{c}{a^{n - 2}} - \dots - c$ as a root. Since all roots of $P^n(x)$ are integers, $\frac{c}{a^{n - 1}} + \frac{c}{a^{n - 2}} + \dots + c \in \mathbb{Z}$ for all $n \in \mathbb{N}$.
   - If $c = 0$, any polynomial $P(x) = ax$ works.
   - If $c \not= 0$, $a = 1$ or $a = -1$.
     - **Proof**: Suppose otherwise, $|a| \ge 2$. Take a large positive integer $N$ such that $a^N > 10c^{100}$. Then $\frac{c}{a^N} \in \mathbb{Z}$, contradicting our choice of $c$. Thus, $|a| = 1$.

7. **Conclusion**: The polynomials that satisfy the conditions are:
   - $P(x) = ax^b$ for $a \in \mathbb{Z}_{\not= 0}$ and $b \in \mathbb{N}_{\ge 2}$.
   - $P(x) = x + c$ or $P(x) = -x + c$ for any $c \in \mathbb{Z}$.

The final answer is $\boxed{P(x) = ax^b \text{ for any } a \in \mathbb{Z}_{\not= 0} \text{ and } b \in \mathbb{N}_{\ge 2}}$ or $\boxed{P(x) = x + c \text{ or } -x + c \text{ for any } c \in \mathbb{Z}}$.