MathLabs

第3問

g:Z>0→Z>0g:\mathbb{Z}_{>0}\to\mathbb{Z}_{>0} を満たす関数で、すべての m,n∈Z>0m,n\in\mathbb{Z}_{>0} に対して (g(m)+n)(g(n)+m)\left(g(m)+n\right)\left(g(n)+m\right) が平方数となるものをすべて求めよ。
ステップ 4/6: 隣接差と単射性を導く
g(k+1)−g(k)∈{−1,1},g(a)=g(b)⟹a=bg(k+1)-g(k)\in\{-1,1\},\qquad g(a)=g(b)\Longrightarrow a=b
詳しい解説

g(k)=g(k+1)g(k)=g(k+1) なら、任意の素数 pp を法として主張を適用すると k≡k+1(modp)k\equiv k+1\pmod p となり矛盾する。もし ∣g(k+1)−g(k)∣>1|g(k+1)-g(k)|>1 なら、この差を割る素数 pp を選べば g(k)≡g(k+1)(modp)g(k)\equiv g(k+1)\pmod p であり、再び同じ矛盾を得る。したがって ∣g(k+1)−g(k)∣=1|g(k+1)-g(k)|=1。さらに a≠ba\ne b かつ g(a)=g(b)g(a)=g(b) なら、剛性の主張をすべての素数 pp に適用できるので、すべての素数について a≡b(modp)a\equiv b\pmod p となる。∣a−b∣|a-b| より大きい素数を選べば a=ba=b が強制されるため、gg は単射である。