第5問
すべての整数 、 に対して が平方数となるような関数 をすべて求めよ。
詳しい解説
f(0)=0 とする。a=0、b=−n とすれば、すべての f(n) は平方数である。b を f(a)−b に置き換えると補助命題 (): f(b)+(f(a)−b)f(2a) は平方数、を得る。零点集合を S とする。S が上に非有界なら、n を固定し k∈S を k>f(n) となるように取る。() に a=n,b=k を入れると (f(n)−k)f(2n) は平方数である。前因子は負、後因子は平方数なので f(2n)=0。従って偶数での値はすべて0、奇数での値は任意の平方数でよい。S が上に有界なら、十分大きい素数 p と n=(p+1)/2 を取る。() に a=n,b=2n を入れると f(2n)(f(n)−2n+1) は平方数となる。f(2n) は0でないので f(n)=u² と書けば u²−v²=p、従って u=n、f(n)=n²。これらの n は上に非有界である。() にこのような大きい k を用い平方数間の差を調べると、f(2n) は0または f(n) の4倍である。S が上に有界なので大きい k では f(2k)=4k²。最後に (**) に a=k,b=n を入れると (2k²−n)²+f(n)−n² が任意に大きい k で平方数となり、f(n)=n² が強制される。