$f(x) = k^n$ for infinitely many integers $k$

136 Views Asked by At

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)$

1

There are 1 best solutions below

0
On

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.