$f(x) = k^n$ for infinitely many integers $k$ Let $f(x)$ be a polynomial of $n^{th}$ degree with integer coefficients and let the leading coefficient be 1. Is it true that $f(x) = k^n$ for infinitely many integers $k$ and $x$ if and only if all roots of $f(x)$ are equal?

One side of the proof is fairly simple. If all roots of $f(x)$ are equal, then $f(x) = (x-x_1)^n$, where $x_1$ is the root of $f(x)$
Now I have problems with the other side. I don't know how to start. I started looking at special cases and I proved it for $n=2$. Let $f(x) = x^2 + ax + b$. Then the roots are $x_1 = \frac{-a + \sqrt{D}}{2}$ and $x_2 = \frac{ -a - \sqrt{D}}{2}$
Then $f(x) = (x-x_1)(x-x_2)$. Now set $f(x)$ to $k^2$ and we have:
$$(2x + a + \sqrt{D})(2x + a - \sqrt{D}) = (2k)^2$$
$$(2x + a)^2 - D = (2k)^2$$
Since $D$ is some fixed number for some large enough $x$ we will have:
$$(2x+a - 1)^2 < (2x+a)^2 - D < (2x+a+1)^2$$
Hence $(2x+a)^2 - D = (2x +a)^2 \implies D=0 \implies x_1 = x_2$
But i'm stuck for $n=3$ and more generally you can't use this method when the degree of $f(x)$ is bigger than 4, since there's no explicit formula for the roots of $f(x)$
 A: 
Answer :
   The only polynomials $f$ for which the $f(x)$ is a k-th power for infinitely many integers are the polynomials of the form $f(x)=(x+k)^n$.

Assume that, $f(x)=x^n+\sum_{i=1}^N f_i x^i, f_0=1$
First, There exists two positive integers $a$ and $b$ such that for larger $x>A$ we have $(x-b)^{n}\leq f(x)\leq (x+a)^{n}$ (to prove this it suffices to pass through  the coefficients and take an integer $a$ which makes $\dbinom n k a^{n-k}$ greater then the coefficients and the same thing for $b$)
So let $N$ be a very larger integer such that $N>\max(2^{n+1}(\max(a,b))^n,A,2|f_i|)$ and $f(N)$ is a $n$th power we have :
$$f(N)=(N+k)^n $$
for some $-b\leq k\leq a$, and we know that every integer have a unique writing of the form:
$$a_kN^{k}+a_{k-1}N^{k-1}+\cdots+a_1N^1+a_{1} $$
where $|a_i|\leq N/2$ But:
$$f(N)=\sum_{i=0}^{n}f_iN^n=\sum_{i=0}^{N}\dbinom n i k^{n-i}N^{i}$$
$|f_i|\leq N/2$ and $|\dbinom n i k^{n-i}|\leq \max(a,b)^n2^n\leq N/2$
we conclude that $f_i=\dbinom n i k^{n-i}$ and $f(x)=(x+k)^n$
Note that this method is well known for this algorithm:Polynomial determined by two inputs, this problem have a lot of generalization which can not be solved using this method, see my question here. 
