この記事は,「日曜数学 Advent Calendar 2024」の12/23の記事です.詳しくは,以下のリンクをご覧ください(たくさんの方が参加されていて,それぞれとても素晴らしい記事・動画等になっています).
さて,この記事を執筆している時点では2024年11月ですが,公開時点ではあと少しで2024年が終わろうとしています.来年は,西暦が変わって2025年,数学が好きな者としてはどうしても2025という数に注目してしまいます.
おそらく,次のような性質はあちこちで紹介され,もしかすると「見飽きた」方もいるかも知れません.
2025=452
2025=13+23+33+43+53+63+73+83+93
筆者の場合は,これに匹敵する美しさ・シンプルさを持つ,あまり知られていない2025の性質を探したくなってしまいます.
入試問題では,こうした2025の性質を背景として,様々な問題が出題されることでしょう.そして,多くの数学愛好家が2025にまつわる問題を作り,SNSなどで様々な議論が巻き起こることでしょう.
この記事では,自称数学愛好家である筆者が,2025にまつわる問題を考えた結果発見した,2025のあまり知られていない美しい性質と,その良問を紹介します.もしかするとすでにあちこちで出回っている有名な事実なのかもしれませんが,一応筆者が自力で発見したものになります(執筆時点では無名でも,公開時点で有名になっている場合もありますが,何卒ご了承ください).
渾身の一作
問題1
どの桁も9でない4桁の平方数であって,すべての桁に1を加えることによって得られる整数も平方数となるようなものをすべて求めよ.
ぜひ一度解いていただきたいです.数学オリンピックの予選問題で序盤に出題されそうな問題と難易度ですが,中学生でも解ける問題です.
求める平方数は,整数nを用いてn2と表される.n2のすべての桁に1を加えることによって得られる整数はn2+1111と表されるから,これが平方数であるとき,整数mを用いて
n2+1111=m2
となる.すなわち
(m+n)(m−n)=11×101
m+n,m−nは整数であり,11,101は素数であるから,m+n>m−nより
{m+n=1111m−n=1
{m+n=101m−n=11
よって,(m,n)=(556,555),(56,45)
ゆえにn2は5552>104または452=2025となるが,n2は4桁の平方数であるから,求める平方数は2025である.
この問題をどうやって思いついたか
2025年が迫ってきていたので,そろそろ2025にまつわる数学の問題を作ろうと豪語していた筆者は,とりあえず整数問題の作問を試みました.
まずは2025の数論的性質を調べ上げます.素因数分解は定番ですね.
2025=34×52
すると,2025は平方数であることが分かります.
2025=452
ここで,45が三角数であることに注目します.つまり
n=1∑9n=1+2+3+4+5+6+7+8+9=45
であることに注目すると
2025=(n=1∑9n)2
であるから,次の等式が得られます.
n=1∑9n3=13+23+33+43+53+63+73+83+93=2025
まあ,ここまではたくさんのサイトに掲載されていることですし,知っているという方も多いとは思います.有名な性質を背景にした問題を作るのもいいですが,それでは面白くないので,問題を解いたときに思わず感動してしまうような,答えが美しい(例えば答えが2025のみである)ものを作ることを目指してみることにしました.
平方数である2025を眺めてみると,下2桁である25も平方数であることに気づきました.つまり,2025は下2桁が平方数である平方数です.この性質に注目して,このような整数は他にどのようなものがあるかを考えてみることにしました.
問題2
下2桁が0でない平方数であるような3桁以上の平方数をすべて求めよ.
下2桁が平方数である平方数は,a,bを整数とすると,100a+b2と表されます.ここで,bは1桁の正の整数とします.これが平方数であることから,cを整数とすると,次の等式が成り立つ整数の組(a,b,c)を求める問題になります.
100a+b2=c2
整数問題を解くときの定石に従うと,次のように変形できます.
100a=(c+b)(c−b)(1)
一般的にこの不定方程式をいきなり解こうとするのは大変なので,まずは制限をかけてみることにします.2025は,a=20,b=5,c=45としたものです.
(1)の左辺は100の倍数なので,右辺も100の倍数となります.ここで,c±bがともに5の倍数であると仮定すると,2b=(c+b)−(c−b)も5の倍数となり,b=5となります.このとき,(1)は
100a+25=c2
となるので,両辺を平方数の25で割ると
4a+1=(5c)2
となります.ここで,次の平方剰余の性質に注目します.
n2≡{01(nは偶数)(nは奇数)(mod4)
この性質は受験数学でも競技数学でもよく見られる有名なものですが,ここから分かることは,5cは奇数ならば何でも良いということです.よって,cは奇数である5の倍数,すなわち
a=n(n+1),b=5,c=10n+5(n∈N)(2)
という一般解が得られます.よって,そのような平方数は(10n+5)2と表されます.特に,2025はn=4とした場合の解であることが分かりました.
では,b=5の場合についても考えてみましょう.b=5のときの一般解を(1)に代入すると,次のような等式が成り立っていることが分かります.
100n(n+1)+25=(10n+5)2
この等式を眺めると,b=1,2,3,4,6,7,8,9の場合の一般解として,例えば次のようなものがあると予想できます.
100n(25n±1)+1=(50n±1)2
100n(25n±2)+4=(50n±2)2
100n(25n±3)+9=(50n±3)2
100n(25n±4)+16=(50n±4)2
100n(25n±6)+36=(50n±6)2
100n(25n±7)+49=(50n±7)2
100n(25n±8)+64=(50n±8)2
100n(25n±9)+81=(50n±9)2
これはどのように予想したかというと,まず,右辺をnの1次式の2乗の形だと決めきってしまいます.そして,それを展開したときに,下2桁以外の定数項でない部分の係数がともに100の倍数になるにはどうすればよいかを考えます.左辺のn2の係数が100の倍数になるには,右辺の2乗する前のnの係数を10の倍数にしなければいけません.さらに,左辺のnの係数が100の倍数になるには,右辺の2乗する前のnの係数と定数項の積が50の倍数にならなければいけません.これらの条件を満たす多項式のうち,係数が最も小さくなるものを選ぶと,上の式が得られます.
問題は,これ以外に解が存在しないかということです.b=5の場合は,(2)がすべての解を表現していることを導出によって示していますが,上の予想はそうではありません.この式ですべての解をカバーできているかを確認する必要があります.
しかし,今回の場合はそれほど難しくありません.右辺に注目すると,50で割ったときの余りを限定しているわけですから,他の剰余の場合はどうなるかを考えればよいです.つまり,50で割ったときの余りとしてあり得る次の50パターン
0,±1,±2,±3,…,±24,25
のそれぞれについて,2乗したときの下2桁,すなわち100で割ったときの余りを考えればよいわけです.実際に計算すると
02≡0(mod100)
12≡1(mod100)
22≡4(mod100)
32≡9(mod100)
42≡16(mod100)
52≡25(mod100)
62≡36(mod100)
72≡49(mod100)
82≡64(mod100)
92≡81(mod100)
102≡0(mod100)
112≡21(mod100)
122≡44(mod100)
132≡69(mod100)
142≡96(mod100)
152≡25(mod100)
162≡56(mod100)
172≡89(mod100)
182≡24(mod100)
192≡61(mod100)
202≡0(mod100)
212≡41(mod100)
222≡84(mod100)
232≡29(mod100)
242≡76(mod100)
252≡25(mod100)
となりますが,このうち下2桁が平方数であるものは0,1,2,3,4,5,6,7,8,9,10,15,20,25だけです.今回は,bが1桁の正の整数として考えていたので,下2桁が00であるものは取り除くと1,2,3,4,5,6,7,8,9,15,25の11個となります.特に,15と25は10で割って5余る数なので,(2)でカバーできていることを考えると,結局b=5のときの一般解は予想通りであることが分かりました.
以上をまとめると,不定方程式
100a+b2=c2
の解のうち,aが0でない整数であり,bが1桁の正の整数であり,cが非負整数であるものは
(a,b,c)={(n(25n±k),k,(50n±k))(n(n+1),k,10n+5)(k=1,2,3,4,6,7,8,9)(k=5)(n∈N)
であることが分かりました.
解答2
(50n±k)2または10n+5
ただし,k=1,2,3,4,6,7,8,9のいずれかであり,nは任意の正の整数である.
次に,筆者はこのような平方数の100以上の位の桁に注目しました.下2桁が平方数であることに注目した次は,これを考えるのが自然だろうと考えたからです.b=5のときはn(25n±k)であり,b=5のときはn(n+1)になっていることから,この数列をPythonで書いてみました.
k=1
while k<10:
n=1
sequence=[]
while n<=10:
sequence.append(n*(25*n+k))
n=n+1
print(sequence)
if k>0:
k=-k
elif k==-4:
k=6
else:
k=-k+1
b=1のとき
26,102,228,404,630,906,1232,1608,2034,2510
24,98,222,396,620,894,1218,1592,2016,2490
b=2のとき
27,104,231,408,635,912,1239,1616,2043,2520
23,96,219,392,615,888,1211,1584,2007,2480
b=3のとき
28,106,234,412,640,918,1246,1624,2052,2530
22,94,216,388,610,882,1204,1576,1998,2470
b=4のとき
29,108,237,416,645,924,1253,1632,2061,2540
21,92,213,384,605,876,1197,1568,1989,2460
b=5のとき
2,6,12,20,30,42,56,72,90,110
b=6のとき
31,112,243,424,655,936,1267,1648,2079,2560
19,88,207,376,595,864,1183,1552,1971,2440
b=7のとき
32,114,246,428,660,942,1274,1656,2088,2570
18,86,204,372,590,858,1176,1544,1962,2430
b=8のとき
33,116,249,432,665,948,1281,1664,2097,2580
17,84,201,368,585,852,1169,1536,1953,2420
b=9のとき
34,118,252,436,670,954,1288,1672,2106,2590
16,82,198,364,580,846,1162,1528,1944,2410
次に,下2桁が平方数である平方数を小さい順に書き出してみました.
1681,1764,1849,1936,2025,2116,2209,2304,2401,2601,2704,2809,2916,3025,3136,3249,3364,3481
すると,上の18個の数字は,2401と2601の間に2500を入れることで,連続する平方数の列になっていることに気づきました.まあ当たり前なのですが,そうして眺めてみると,ふと気づいてしまいました.「2025の千の位に1を加えると3025という別の平方数になる」.これはなにかに使えそうだと思ったのですが,3025のお隣,3136に注目すると,「2025の各桁を1増やすと,3136という別の平方数になる」ことに気づいてしまいました.このような平方数は他にあるのかと思い,とりあえず立てた問いが問題1です.
【読者への挑戦状】問題1の拡張
問題1を改めて掲載しておきます.
問題1
どの桁も9でない4桁の平方数であって,すべての桁に1を加えることによって得られる整数も平方数となるようなものをすべて求めよ.
最後に,これを更に拡張して,より一般的な問題にアップグレードすることを考えてみましょう.興味のある読者は挑戦してみてください.
拡張1:桁の一般化
問題3
4桁の平方数であって,すべての桁に対して,9でない場合は1を加え,9の場合は0に置き換えることによって得られる整数も平方数となるようなものをすべて求めよ.
9の桁があってもよいではないかという一般化です.ただし,9に1を加えると2桁になってしまうので,特殊な条件をつけています.
拡張2:桁数の一般化
問題4
どの桁も9でない平方数であって,すべての桁に1を加えることによって得られる整数も平方数となるようなものをすべて求めよ.
4桁という条件を取っ払ってみました.2桁の場合は25のみであることが明らかにわかりますが,それ以外の場合はどうなるでしょうか.
拡張3:記数法の一般化
問題5
nを2以上の整数とする.どの桁もn−1でない4桁のn進法で表された平方数であって,すべての桁に1を加えることによって得られる整数も平方数となるようなものをすべて求めよ.
10進法で表された整数について考えるだけでなく,2進数や3進数など,記数法を変化させてみるとどうなるのでしょうか.
拡張4:一般化盛り合わせ
問題6
nを2以上の整数とする.n進法で表された平方数であって,すべての桁に対して,n−1でない場合は1を加え,n−1の場合は0に置き換えることによって得られる整数も平方数となるようなものをすべて求めよ.
これは複雑な問題の予感がします・・・.