平成16年2月1日
[流れ星]
第132回数学的な応募問題解答No2
<解答募集期間:1月11日〜1月31日>
[フィボナッチ数]
1202年、イタリアに住んでいたフィボナッチは当時の代数学と整数論の知識を総合した内容の「算盤の書」という名の本をラテン語で出版しました。これは10進法を用いて学習するヨーローパで最初の本の1冊となりました。
フィボナッチは当時の風習であった数学競技会(難しい問題を最高・最速で解く公開競技)に参加しました。フィボナッチの問題を解く手法はみんなを驚かせました。フィボナッチの名声は、数学グループを同行してローマ帝国のピザを訪れたフリードリッチU世皇帝にまでとどろきフィボナッチとの公開試合が催されました。試合に出題された問題の一つは次に示す問題です。
「平方に5を加えても、平方から5を引いても完全平方となる数を見つけよ」
ただし、このような数は分数で、整数ではありません。また、フィボナッチは1つ数を見つけましたが、他にもありそうです。
<問題出典:「数学センス」コルディムスキー 著 鈴木敏則 訳 (丸善株式会社)>
NO1「H7K」
1/11: 17時11分 受信 更新2/1
NO2「kiyo」 1/11: 20時48分 受信 更新2/1
NO3「中尾」 1/11: 22時49分 受信 更新2/1
<水の流れ:NO1からNO3までは解答NO1に載せてあります>
NO4「中川幸一」 1/11: 23時41分 受信 更新2/1
NO5「toru」 1/15: 11時03分 受信 更新2/1
お世話になっております。「フィボナッチ数」の解答(らしきもの?)を送ります。
求める分数をp/q(p,qは互いに素な正整数)とすると、題意の条件は
p^2-5q^2=m^2, p^2+5q^2=n^2 (m,nは正整数)となる。これから
p^2=(m^2+n^2)/2、q^2=(n^2-m^2)/10
m、nはともに奇数となり、また(n^2-m^2)が10で割りきれる。
これらの条件を満たす(m,n)でp+q=√(m^2+n^2)/2 +√(n^2-m^2)/10を、エクセルで計算してみましたら、
m=31,n=49の時p+q=53と整数になって、これからp=12,q=41をやっと一個だけ発見することができました
41/12 ----答え
その後、インターネットでぱらぱらと別のサイトを見ていると、楕円曲線の有理点をさがす問題になるとか、合同数が何とやらとか、
でてきましたが、時間がとれたら、楕円曲線論の入門書でも買ってきて、読みたいと思いますが、いつのことになるでしょう。
NO6「kasama」 1/15: 18時24分 受信 更新2/1
遅くなりましたが,新年明けましておめでとうございます。今年もどうぞよろしくお願いいたします。
いつも楽しい問題を出題して頂きありがとうございます。
今回は整数論の問題ですね。完全平方に関するトピックは昔からよく研究されていると聞きますが、自分が取り組むとなると結構難しいものですね。 問題を完全に解決できていませんが、途中経過をご報告致します。
フィボナッチは問題の数を1つ見つけたようですが、現在は計算機がありますから、余程の大きな数字でない限り誰でもが簡単に見つけることができますね。私も、簡単なプログラムで以下の有理数をみつけることができました。
41/12
3344161/1494696
次に、数学的に考えてみたのですが、以下の点を解決するには至っておりません。
○フィボナッチ数は無限にあるのかどうか
直感的には、上記の2つだけのような気もしますが、何らかの根拠に依るものではありませんので、もう少し検討してみますので時間を下さい。では、進展がありましたらお知らせ致します。
<解答>題意の数をuとしますと、平方に5を加えても、平方から5を引いても完全平方となるわけですから、
u2 - 5 = v2 ・・・(1)
u2 + 5 = w2 ・・・(2)
となるような、有理数v、wが存在します。(1)、(2)よりuを消去すると、
(w - v)*(w + v) = 10 となります。
w - v = a w + v = b とおくと、b = 10/aですから
v = (10 - a2)/2a ・・・(3)
w = (10 + a2)/2a ・・・(4)
(1)式に(3)式を代入して、vを消去して、uについて解くと
u2 - 5 =
{(10 - a2)/2a}2
⇒ u = √(100 + a4)/2a
ここで、uは完全平方ですから、100 + a4が完全平方でなければならないことになります。そして、このようなuを求めれば良いのですが、数学的に求める方法を発見できておらず、題意を満たす数が無限に存在するのかどうかもわかっておりません。
とりあえず、PARI/GPの簡単なプログラムで、力まかせにやりました。
【結果】
1681/144 ⇒ 41/12
11183412793921/2234116132416 ⇒ 3344161/1494696
【プログラム】
f(n)=
{
local(i,j,a,g,u);
for (j=1,n,
for (i=1,n,
if (gcd(i,j) == 1,
a = j/i;
g = 100 + a^4;
if (issquare(g),
u2 = g/(2*a)^2;
print(u2)
)
)
)
)
}
NO7「中尾」 1/15: 22時57分 受信 更新2/1
平方数の平方根xを求める問題として、書き直しました。 また、以下の命題の証明を追加しました。
「整数nに対して、(x_n,y_n)=ψ(n(5,25))とする。nが奇数ならは、(x_n)^2±5は平方数の5倍である。
また、nが(0でない)偶数ならは、(x_n)^2±5は平方数である。」
---------------------------------------------------
第132回数学的な応募問題(解答)
---------------------------------------------------
求める有理数をxとする。
題意より、ある有理数u,vに対して、
x^2+5=u^2 ------- (1)
x^2-5=v^2 ------- (2)
を得る。
(1),(2)より、
x^4-25=(x^2+5)(x^2-5)=(uv)^2
を得る。y=uvとすると、(x,y)は、楕円曲線
C: y^2=x^4-25 ------- (3)
の有理点である。
曲線Cは双有理変換φ:(x,y)→(X,Y)
X={-50}/{y-x^2}, ------ (4)
Y={-100x}/{y-x^2} ----- (5)
[逆変換ψ:(X,Y)→(x,y)は、
x=Y/{2X}, ------------- (6)
y={-200X+Y^2}/{4X^2} ---- (7)
である。]によって、楕円曲線
E: Y^2=X^3+100X ----- (8)
にQ-同型である。
よって、楕円曲線Eの有理点(X,Y)を求めれば良い。
Eのねじれ点群は、Z/2Z={(0,0), O}である。ただし、Oは無限遠点とする。
2-descentにより、Eの有理点群のrankは1であり、その生成元は(5,25)であることが分かる。
つまり、
E(Q)=Z×(Z/2Z)
={ n(5,25) : n \in Z }∪{ n(5,25)+(0,0) : n \in Z
} である。
簡単な計算で、E(Q)のOを除く任意の点(X,Y)に対して、
2(X,Y)=({X^4-200X^2+10000}/{4Y^2},{X^6+500X-50000X^2+1000000}/{8Y^3}), -----
(9)
(X,Y)+(0,0)=({100}/{X},{-100Y}/{X^2}), ----- (10)
(X,Y)+(5,25)=({5(X^2+25X+100-10Y)}/{(X-5)^2},{25(X^3+15X^2+300X+500-7XY-65Y)}/{(X-5)^3}) ----
(11)
であることが分かる。
E(Q)の元(X,Y)をいくつか計算する。
n
n(5,25)
n(5,25)+(0,0)
-- -------------------------------------
-------------------------------
0
O
(0,0)
1 (5,
25)
(20, -100)
2 (9/4,
-123/8)
(400/9, 8200/27)
3 (25205/121,
-4006175/1331)
(2420/5041, 2482700/357911)
4 (2307361/242064, 5079780559/119095488)
(24206400/2307361,-164532721200/3504881359)
.....
C(Q)の元(x,y)=ψ(X,Y)をいくつか計算する。ただし、∞^+,∞^-は曲線Cの無限遠点とする。
n
ψ(n(5,25))
ψ((5,25)+(0,0))
-- -------------------------------------
------------------------------
0
∞^+
∞^-
1 (5/2,
-15/4)
(5/2, 15/4)
2 (-41/12,
-1519/144)
(41/12, 1519/144)
3 (-11285/1562,
126765585/2439844) (11285/1562,
-126765585/2439844)
4 (3344161/1494696, -535583225279/2234116132416)
(-3344161/1494696,535583225279/2234116132416)
.....
簡単な計算で、(x,y)=ψ(X,Y)のとき、
ψ((X,Y)+(0,0))=(-x,-y),
ψ(-(X,Y))=(-x,y) であることが分かる。
整数n(ただし、n!=0)に対して、有理数x_n,y_n,X_n,Y_nを
(X_n,Y_n)=n(5,25),
(E(Q)上のn倍点)
(x_n,y_n)=ψ(X_n,Y_n) で定義する。
ただし、C(Q)の元(x,y)より得られた有理数xが全て(1),(2)を満たすわけではない。
例えば、x=±41/12, ±3344161/1494696のとき、x^2±5は平方数になるが、
x=±5/2, ±11285/1562のとき、x^2±5は平方数の5倍になる。
一般に、nが奇数ならは、(x_n)^2±5は平方数の5倍であるので、x=x_nは(1),(2)
を満たさない。また、nが(0でない)偶数ならは、(x_n)^2±5は平方数であるので、 x=x_nは(1),(2)を満たすことが分かる。
[証明]
★最初に、"(x_n)^2±5が平方数 <====> X_nが平方数"を示す。
簡単のために、nを省略する。(x,y)=ψ(X,Y)とすると、(6),(7),(8)より、
x^2±5=(Y/(2X))^2±5=(Y^2±20X^2)/(4X^2)=(X^3+100X±20X)/(4X^2)
=X(X±10)^2/(4X^2)=X({X±10}/{2X})^2
Xは有理数なので、x^2±5が平方数であるのは、Xが平方数であるときであり、 そのときに限る。
★次に、nが0以外の整数のとき、X_{2n}は平方数であることを示す。
(9)および(X_{2n},Y_{2n})=2(X_n,Y_n)より、
X_{2n}={(X_n^2-100)^2}/{4Y_n^2}=({X_n-100}/{2Y_n})^2 よって、X_{2n}は平方数である。
★最後に、nが整数のとき、X_{2n+1}は平方数の5倍であることを示す。
n=0のときは、X_1=5より、明らか。
n!=0のときは、
(11)および(X_{2n+1}+Y_{2n+1})=(X_{2n},Y_{2n})+(5,25)より、
X_{2n+1}={5(X_{2n}^2+25X_{2n}+100-10Y_{2n])}/{(X_{2n}-5)^2}
={5(X_{2n}^3+25X_{2n}^2+100X_{2n}-10X_{2n}Y_{2n])}/{X_{2n}(X_{2n}-5)^2}
={5(Y_{2n}^2+25X_{2n}^2-10X_{2n}Y_{2n])}/{X_{2n}(X_{2n}-5)^2}
={5(Y_{2n}-5X_{2n})^2}/{X_{2n}(X_{2n}-5)^2}
=(5/X_{2n})*({Y_{2n}-5X_{2n}}/{X_{2n}-5})^2
X_{2n}は有理数の平方数、Y_{2n}は有理数なので、X_{2n+1}は平方数の5倍である。
[証明終わり]
また、(10)より、E(Q)の任意の点(X,Y)について、
(X,Y)のX座標が平方数 <===>(X,Y)+(0,0)のX座標が平方数であることが分かる。
よって、条件(1),(2)を満たす有理数xを求めるには、偶数n(n!=0)に対して、
(x_n,y_n)=ψ(n(5,25))のx座標x_nを計算すれば十分である。
ここで、ψ(n(5,25)+(0,0))=(-x_n,-y_n)であるので、n>0の場合のみ計算する。
n=2,4,6,...に対してψ(n(5,25))のx座標x_nを求めると、以下のようになる。
-41/12,
3344161/1494696,
-654686219104361/178761481355556,
-249850594047271558364480641/5354229862821602092291248,
160443526614433014168714029147613242401001/50016678000996026579336936742637753055940,
-209239116668342644167838867143329714389679018137228536721441/93092380947563478644577555596900542802151091304399908363272,
653152954009158143378427536560733420320797953915756014095625317096936904977985961/165212943236364556817454960196622119200395589469467839738735336681091141974929836,
3896941041458487485320832722469963686366256264486004169772710584821176712668535259971051251201565099266561/167019439477564254804819333692197516475269570978824403519721702282259070147808848039273138602363503527584,
-39237885850430493626909674952750943784591172430352517285024742033896533808220451105238021689439529973471632789306928489835884212163241/12952454930469561017859054695383398376216914979916496971716496296075783109382658016757987519838824348906938668524076790678410751270508,
819115590828533344363410662412264643379752066019183683929303651124586853669504387320308409413889983068897449835893620439166082535269226761968418573264897156499604001/361099956694584921325844298628071074932266255535444467758581806245113643624628862872331108319421687852576797589404506630373073554588284615643777818720192420057751880,
....
これより、正有理数である解x=|x_n|を求めると、
41/12,
3344161/1494696,
654686219104361/178761481355556,
249850594047271558364480641/5354229862821602092291248,
160443526614433014168714029147613242401001/50016678000996026579336936742637753055940,
209239116668342644167838867143329714389679018137228536721441/93092380947563478644577555596900542802151091304399908363272,
653152954009158143378427536560733420320797953915756014095625317096936904977985961/165212943236364556817454960196622119200395589469467839738735336681091141974929836,
3896941041458487485320832722469963686366256264486004169772710584821176712668535259971051251201565099266561/167019439477564254804819333692197516475269570978824403519721702282259070147808848039273138602363503527584,
39237885850430493626909674952750943784591172430352517285024742033896533808220451105238021689439529973471632789306928489835884212163241/12952454930469561017859054695383398376216914979916496971716496296075783109382658016757987519838824348906938668524076790678410751270508,
819115590828533344363410662412264643379752066019183683929303651124586853669504387320308409413889983068897449835893620439166082535269226761968418573264897156499604001/361099956694584921325844298628071074932266255535444467758581806245113643624628862872331108319421687852576797589404506630373073554588284615643777818720192420057751880,
....
となる。さらに、これらの|x_{2n}| (ただし、nは正整数)以外には(1),(2)の正
有理数解xはないことが分かる。
ついでに、有理数の平方数x^2は、
1681/144,
11183412793921/2234116132416,
428614045485163378013009218321/31955667216432795403292069136,
62425319345774489875576913540908007654663493663770881/28667777423930631959129990083752908396266457397504,
25742125232476274945600804344670821085186747239792972834270694018194679471285802001/2501668078255319881397266106072508369628265230233648767096664663655320808769283600,
43781007944148304548244210396281989964103136439445456775192309124306675701466399112933759276955808140583881001229116481/8666191390486279754082343551208369565243342312911502069880314222532921884497792974334497667304622471072390889918545984,
426608781330889452801634842349311903911234872598242992095908202911520460074823221702666116328171946744340015074718237397239762331073242631060353386066027913093521/27295316612822217161273099207575492045965455960163391163605190041343587975559930961845574372758947682450233333730822269136896257920943624483822742853937122986896,
15186149480603561077873486951173749559525479302211996827405127217678870732032108537181044477898873408310514497391618637431614257333642103164013127658012672837118280294149649202051220990692972277960589780132766721/27895493163399749075975576686531661804502467274390286244455076465675913453039254381581795143230099427207818140220697782396804741139066893940555963636702931247304221072896856752708889710376859209702011848877056,
1539611686011413542083853952876101197813720598928842362281142122759999414139721553168823583530573400260628057642251722956499411322456242317077763749152723454622785137872066217490415494927685153231297369778666247288095457938486721045156630353438379089460093328831624081/167766088725845240741629149618209524558953232824585954175859084429812231591512275744978565038525417963266067181939823910059627946958305306445772534813068796160387217063376062654475164246390564601247792814781346570898903010493898213658424521601656058055071936190578064,
670950351138377259092284101030243992075735187961753049569437576149342919163534134400715328304041011837130473979926268744958367991476835308684797605148274351463092401046820105830147087240950183114781656537205018150428604021899028891442218330614015805991732344436245975625469537413578241893861017592120388948596840231846469815208001/130393178724831105540499888728123964993760914585113543805532300725628752816193378723210058935003671538698505176647864287100113923212470726672664068391983522571009534051653751290362266567203731273645568902122686257417548425629372093443265825101539026315379232291183634502413110016687819238877658951167400492237012436834479643534400,
....
である。
NO8「kasama」 1/20: 20時03分 受信 更新2/1
【方針】題意の完全平方数の算出⇒x、x+n、x-nがすべて有理数の平方数 ⇒合同数nに関する楕円曲線上の有理点の算出
と考えて、楕円曲線上の有理点を計算することで、フィボナッチ数を算出します。
【解答】
@合同数nと楕円曲線y2 = x3 - n2x上の有理点の関係 nを合同数(※)とすると、適当な有理数a、b、c>0が存在して、
a2 + b2 = c2 n = ab/2 です。ここで、
x = c2/4 とおくと、 x + n = (a+b)2/4 x
- n = (a-b)2/4 ですから、
x、x+n、x-nが全て有理数の平方数⇒x(x+n)(x-n)は有理数の平方数です。
このことは、楕円曲線En y2 = x(x+n)(x-n) ⇒ y2
= x3 - n2x が自明でない(y≠0なる)有理点(x,y)を持つことと同値です。
※・・・多くの場合、合同数とは3辺が有理数となるよう直角三角形の面積と定義されていますが、上記の楕円曲線Enを満たすようなnと定義していることもあるようです。
A5は合同数
H.Nakao's Elliptic Curves
Topics(http://www.kaynet.or/~kay/misc/index.html)によると、5は合同数で、楕円曲線Enの有理点群の位数はrank
En(Q)=1で、En(Q)/tor(En(Q))の生成元=[-4
: -6 : 1]であるようです。
2004/01/20追記:実際に、mwrank2.8(John Cremona氏作成のプログラム)を動作させて調べてみた結果を補足1に記載します。
Bフィボナッチ数を算出
5が合同数なので、楕円曲線y2 = x3 - 52x上の有理点を計算することで、フィボナッチ数を算出することができます。pari/gpで簡単なプログラム(補足2参照)で計算しました。プログラムの内容は、生成元[-4, -6]から有理点(x,y)を計算して、
a = |(52 - x2)/y| b = |2nx/y| c = |(52 + x2)/y|
の有理数a、b、cを求め、 √x = ±c/2 を算出します。
[実行結果]
(00:13) gp > read("数学/水の流れ/第132回/dai132.gp")
(00:13) gp > dai132(5,ellinit([0, 0, 0, -25,
0]),[-4, -6],15)
41/12
-41/12
-3344161/1494696
3344161/1494696
654686219104361/178761481355556
-654686219104361/178761481355556
249850594047271558364480641/5354229862821602092291248
-249850594047271558364480641/5354229862821602092291248
・・・以下、文章が長くなるので省略・・・
【補足1・・・楕円曲線Enの有理点群の位数と生成元】 参考までに、動作ログを記載します。
[kasama@KEN tmp]$ mwrank
Program mwrank: uses 2-descent (via 2-isogeny if
possible) to
・・・中略・・・
using base arithmetic option LiDIA_INTS (LiDIA bigints, no multiprecision floating point)
Enter curve: [0, 0, 0, -25, 0] ← 楕円曲線Enの指定
Curve [0,0,0,-25,0] :
・・・中略・・・
-------------------------------------------------------
Computing full set of 2 coset representatives for
2E(Q) in E(Q) (modulo torsion), and sorting into height order....done.
Rank = 1 ← 位数
After descent, rank of points found is 1
Generator 1 is [-4 : 6 : 1]; height 1.8994821725318 ← 生成元と高さ
The rank has been determined unconditionally.
The basis given is for a subgroup of full rank of the Mordell-Weil
group
(modulo torsion), possibly of index greater than 1.
Regulator (of this subgroup) = 1.8994821725318
(0.4 seconds)
【補足2・・・プログラム(dai132.gp)】
参考までに、プログラムを記載します。
dai132(n, e, ptE, num)=
{local(i); for (i = 1, num, printPoint(n, ellpow(e, ptE, i)); printPoint(n, ellpow(e, ptE, -i)) );}
printPoint(n, pt)={ local(x, y, c); x = pt[1]; y =
pt[2]; c = (n^2 + x^2) / y; print(c/2); }
NO9「kiyo」 1/21: 01時09分 受信 更新2/1
こんばんは。(kiyo)です。いつもお世話になっています。
初等的方法で2個目を見つけました。
(3344161/1494696)^2+5=(4728001/1494696)^2=22353993456001/2234116132416
(3344161/1494696)^2-5=(113279/1494696)^2=12832131841/2234116132416
NO10「森原」 1/22: 21時58分 受信 更新2/1
41/12です。 (41/12)^−5=(31/12)^ (41/12)^+5=(49/12)^ ^は2乗の意味です。
NO11「三角定規」 1/25: 00時29分 受信 更新2/1
<コメント>第132回(フィボナッチ数)解答送ります。
「日記」を拝見しておりますと、皆さん「楕円曲線上の有理点」とおっしゃっていますが、私には ?? なので、私は自分にできる考え方で解きました。
この解そのものは10日ほど前にできていたのですが、意地でももう1例捜そうとムキになっておりました。
エクセルで捜したのですが、一時は(私の解で)5桁の p が見つかったかと思ったのですが、11桁の
p^2 をエクセルの内部関数 Sqrt() で開く際の誤差(1の位の1)で、幻に終わってしまいました。ご常連の方々の解から学ばせていただきます
<水の流れ:NO4からNO11までは解答NO2に載せさせて頂きます>