平方数には平方完成で立ち向かえ! – 2025年東大 数学 第4問

2025年東大 数学 第4問 は平方数に二次式を絡ませたクセ強問題です。問題文は以下のとおりで、東大2次試験からの引用です。
この問いでは, 0 以上の整数の2乗になる数を平方数と呼ぶ。 a を正の整数とし, fa(x)=x2+x-aとおく。
(1) n を正の整数とする。 fa(n) が平方数ならば, n≦aであることを示せ。
(2) fa(n) が平方数となる正の整数nの個数を Na とおく。 次の条件 (i), (ii)が同値であることを示せ。
(i) Na=1である。
(ii) 4a+1 は素数である。
二次式が平方数になる条件とか、なかなかにイヤげです。とりあえず「ままよ」とチャレンジしてみましょう。なお、本稿の問題は東大が発表したものではありません。
2025年東大 数学 第4問 小問1の解法
問題文の主張は直感的に全然明らかではないので、何世迷い言を言ってんだかと思いましたが、出題者に楯突いてもしょうがないので定義に従って考えてみます。
fa(n) が平方数なので、ある非負整数 m が存在して
が成り立ちます。
一方、平方数の問題なのでとりあえず式(1)の左辺を平方完成してみます。
おっと!この式から n と m の大小関係を導出できそうです。それができれば(1) に当てはめて、 n と a の大小関係を導き出せそうな気がしますが、式(2)より
すなわち
が成り立ちます。
よって、n も m も自然数なので
n ≧ m
が成り立つますが、これを式(1) に適用することにより、
n – a = m2 – n2 ≦ 0
すなわち
n ≦ a
があっさり導出できました。
式(1) をいじくるだけでこんなに簡単に答えが出てくるなんて自分でも驚きですが、二次式を何かの2乗と比較するときには平方完成が思った以上に強力です。
2025年東大 数学 第4問 小問2の解法
問題文は更に無茶苦茶なことを言っています。こいつは相当ヤヴァそうなので、もし小問1がクリアできているなら深追いせず、他の問題に転進するのもアリです。
まず、 fa(a) = a2 であることに注意します。つまり、すべての自然数 a に対し Na ≧ 1 です。 a の値によっては fa(n) が平方数になる n が存在しないのでは、といった心配をしなくて良いことがわかりました。
次に、条件(ii) の「4a+1 は素数である」ってやつに着目します。4a+1 ってどこから出てきたんだよ、と突っ込みたくなりますが、ここで式(2) を思い出しましょう。整数の問題なのに式に分数があるのはアレなので、両辺を4倍すると
おおっ! 4a+1 がこんなところに!!ここから直ちに
と、 4a+1 を何かの積で表すことができました。 4a+1 が素数かどうかを判定するという取り付く島のない問題に、強力な手がかりが得られました。これは行けそうです。
そこでまず、 4a+1 が素数であると仮定してみます。すると 4a+1 の因数のうち小さい方の 2n+1-2m が1と等しくなる必要があります。ちなみに 2n+1+2m は常に正なので、 2n+1-2m が負になるんじゃねといった心配は無用です。
2n + 1 -2m = 1
なので
m = n
です。これを式(1)に代入して
n2 + n – a = n2
すなわち
n = a
です。
4a+1 が素数なら fa(n) が平方数になる n は n=a しかないと言っているのですから、 Na=1 です。
次に 4a+1 が素数でないなら Na > 1 であることを証明します。4a+1 が素数でないとき、2以上の自然数 p,q ( p ≧ q ) が存在して
4a + 1 = pq
が成り立ちます。
ここで 2n+1+2m=p,2n+1-2m=q とおいて、 m,n に関する連立方程式
を解くと
を得ます。
なんだ n は分数じゃん、と一瞬がっかりしますが、ここで 4a+1 は5以上の奇数であることを思い出しましょう( aは正の整数なので 4a+1 ≧ 5)。
したがって p,q は両方とも奇数であり、 p≧q≧3 を満たしますが、さらに
p ≡ q ≡ 1 (mod 4)
または
p ≡ q ≡ 3 (mod 4)
のいずれかが成り立ちます(もしそうでなければ、 pq ≡ 3 (mod 4) になって矛盾である)。
よって
p + q – 2 ≡ 0 (mod 4)
p – q ≡ 0 (mod 4)
であり、 n も m も整数です。なお、 p,q ≧ 3 なので、 n は正の整数です。
以上をまとめると、 4a+1 が素数でないとき、pq=4a+1 を満たす3以上の整数 p,q に対し、
とおくと n は正の整数であり、かつ
が成り立つことがわかりました。
あとは n < a であることが示せれば Na > 1 であることが証明できたことになりますが、
であることとfa(x) が 0 ≦ x の範囲で単調増加であることから、
n < a
であることが示せました。ゆえに Na > 1 であり、この対偶を取って Na=1 ならば 4a+1 は素数です。以上、設問の命題が証明できました。
解法のポイント

本問はあまり例を観ないタイプの問題なのでなかなか苦戦しますが、本稿で示したように二次式を平方完成してみると、突破口が開けます。
平方数だから平方完成だ!という単純な発想ですが、ここから平方数の差に持っていくと因数分解ができたりして先が見えてきます。
二次式の平方完成は不等式の証明などでも重宝しますが、変数を一次式の2乗に封じ込めるのは思いの外効果があります。二次式が絡む問題で打ち手に困ったらとりあえず試してみましょう。