Homeに戻る  一覧に戻る 

Integral Points on Curves: v^2-5u^6=\pm{4}


[2004.02.02]v^2-5u^6=±4の整点


Fibonacci数列に現れる完全立方数が0,1,8に限ることを証明する。
参考文献[5]によると、このことはLondonと Finkelsteinによって、1969年に証明されている。
以下では、ある楕円曲線の整点を求めることに帰着して、証明する。

Fibonacci数列のある項um(m >= 0)が完全立方数(3乗数)であると仮定する。
     um = u3
Lucas数列の項v = vmに対して、
     v2-5u6 = ±4 ------ (C±)
が成立する。
u,vは整数(u,v >= 0として良い)なので、(C±)の整数解を求めれば良い。

ここで、
     X = 5u2,
     Y = 5v
とすると、X,Yも整数であり、(C±)より、
     Y2=X3±100 ------ (E±)
を得る。
よって、2つの楕円曲線
     E1: Y2=X3+100,
     E2: Y2=X3-100
の整点を求めることに帰着できる。

■最初に楕円曲線
     E1: Y2=X3+100
の有理点を求める。

■楕円曲線E1の判別式 Δ1,j-不変量 j1,conductor N1は、それぞれ、
     Δ1 = -4320000
     j1 = 0
     N1 = 900
である。
[pari/gpによる計算]
gp> read("c12.gp");
time = 1 ms.
gp> e1=ellinit([0,0,0,0,100])
%2 = [0, 0, 0, 0, 100, 0, 0, 400, 0, 0, -86400, -4320000, 0, Vecsmall([1]), [Vecsmall([128, -1])], [0, 0, 0, 0, 0, 0, 0, 0]]
gp> e1.j
%3 = 0
gp> e1.disc
%4 = -4320000
gp> ellglobalred(e1)
%5 = [900, [1, 0, 0, 0], 18, [2, 2; 3, 2; 5, 2], [[2, -4, 0, 3], [2, 3, 0, 2], [2, 4, 0, 3]]]

■楕円曲線E1のねじれ点群は、Z/3Zである。
E1のねじれ点群E1(Q)torsは、位数3の点T(0,10)で生成される。よって、
     E1(Q)tors = {(0,10), (0,-10), O}
である。
[pari/gpによる計算]
gp> elltors(e1)
%6 = [3, [3], [[0, 10]]]
gp> for(i=1,3,print(ellpow(e1,[0,10],i)))
[0, 10]
[0, -10]
[0]

■楕円曲線E1のMordell-Weil群のrankは、1であることが分かる。
Cremonaのmwrank3によって、Mordell-Weil群E1(Q)の生成元P1(-4,6)が見つかる。よって、
     E1(Q) = Z×Z/3Z
である。
[mwrank3による計算]
bash-2.05a$ mwrank3
Program mwrank: uses 2-descent (via 2-isogeny if possible) to
determine the rank of an elliptic curve E over Q, and list a
set of points which generate E(Q) modulo 2E(Q).
and finally search for further points on the curve.
For more details see the file mwrank.doc.
For details of algorithms see the author's book.

Please acknowledge use of this program in published work, 
and send problems to John.Cremona@nottingham.ac.uk.

Version compiled on Feb 11 2003 at 17:40:15 by GCC 3.2.1
using base arithmetic option LiDIA_ALL (LiDIA bigints and multiprecision floating point)
Using LiDIA multiprecision floating point with 15 decimal places.
Enter curve: [0,0,0,0,100]

Curve [0,0,0,0,100] :   No points of order 2
Basic pair: I=0, J=-2700
disc=-7290000
2-adic index bound = 2
By Lemma 5.1(a), 2-adic index = 1
2-adic index = 1
One (I,J) pair
*** BSD give two (I,J) pairs
Looking for quartics with I = 0, J = -2700
Looking for Type 3 quartics:
Trying positive a from 1 up to 4 (square a first...)
(1,0,0,10,0)    --trivial
(1,0,6,6,-3)    --nontrivial...(x:y:z) = (1 : 1 : 0)
Point = [-4 : 6 : 1]
        height = 0.593410399231091
Rank of B=im(eps) increases to 1
(1,-1,6,4,-4)   --trivial
Trying positive a from 1 up to 4 (...then non-square a)
Trying negative a from -1 down to -2
(-1,2,6,-2,4)   --trivial
Finished looking for Type 3 quartics.
Mordell rank contribution from B=im(eps) = 1
Selmer  rank contribution from B=im(eps) = 1
Sha     rank contribution from B=im(eps) = 0
Mordell rank contribution from A=ker(eps) = 0
Selmer  rank contribution from A=ker(eps) = 0
Sha     rank contribution from A=ker(eps) = 0
Rank = 1
Points generating E(Q)/2E(Q):
Point [-4 : 6 : 1], height = 0.593410399231091
After descent, rank of points found is 1

Generator 1 is [-4 : 6 : 1]; height 0.593410399231091

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) = 0.593410399231091

 (5.7 seconds)
Enter curve: [0,0,0,0,0]

bash-2.05a$ 

■楕円曲線E1の全ての整点を、[4]の方法によって求める。
U=1,V=0とする。
以下の形式
     C1: y2 = f1(x)
     f1(x) = x^3+100
を得る。
3次方程式 f1(x) = 0の最大の実数根をγとする。

任意のP ∈ E1(Q)に対して、有理整数m1,m0(m0=0,1,2)が存在して、
     P = m1P1+m0T
となる。
f1(x)=x3+100=0の根は、1個の実数γと2個の虚数γ',γ''であり、
     γ ≒ -4.641588833612778892410076350,
     γ' ≒ 2.320794416806389446205038175 - 4.019733843830848449722146517*sqrt{-1},
     γ''≒ 2.320794416806389446205038175 + 4.019733843830848449722146517*sqrt{-1}
である。γ=-100^(1/3)は無理数であることに注意する。

(X,Y)がEの整点であるとする。
f1(X) > 0 iff (X > γ)

よって、X > γの範囲で、E1の整点(X,Y)を求める。
gp> f(x)=x^3+100
%8 = (x)->x^3+100
gp> poldisc(f(x))
time = 1 ms.
%9 = -270000
gp> rr=polroots(f(x))
%10 = [-4.6415888336127788924100763509194465765 + 0.E-38*I, 2.3207944168063894462050381754597232883 - 4.0197338438308484497221465170634973413*I, 2.3207944168063894462050381754597232883 + 4.0197338438308484497221465170634973413*I]~
gp> factor(f(x))
%11 =
[x^3 + 100 1]


■不等式1
P ∈ E1(Q)がP=m1P1+m0Tで表現されるとすると、
     h^(P) >= c1|m1|
である。

[pari/gpによる計算]
gp> p0=[0];p1=[-4,6];
gp> H=[ellbil(e1,p1,p1)/2]
%13 = [0.29670519961554547173233123788060006183]
gp> dd=H[1]-x
%14 = -x + 0.29670519961554547173233123788060006183
gp> ww=polroots(dd)
%15 = [0.29670519961554547173233123788060006183 + 0.E-38*I]~
gp> c1=real(ww[1])
%16 = 0.29670519961554547173233123788060006183

■不等式2
     c2 = 2*max{|γ|,|γ'|,|γ''|}
とする。任意のx >= c2に対して、
     |∫x(dt/sqrt{f1(t)})| <= 4*sqrt(2)|x|-1/2
となる。

[pari/gpによる計算]
gp> c2=2*max3(abs(rr[1]),abs(rr[2]),abs(rr[3]))
%17 = 9.2831776672255577848201527018388931531

■不等式3
U=1,V=0とする。
X0を正の有理整数で、X0 > Vとする。
このとき、任意のP ∈ E1(Q), X(P) >= X0に対して、
     x(P) > 0,
     h^(P)-(1/2)*log x(P) <= c3
となる。

[pari/gpによる計算]
gp> c0=log(1)
%18 = 0.E-38
gp> c3=cc3(c0,e1)
%19 = 2.6898040869649970753691685620072333021

■不等式4
不等式1,2,3より、
     |φ(P)|=|(1/ω)∫x(P)(dt/sqrt{f1(t)})| <= (4*sqrt(2)/ω)|x(P)|-1 <= (4*sqrt(2)/ω)exp(c3-c1M2)
を得る。

■主不等式
P ∈ E0(R) iff x(P) >= γ iff X(P) >= U2γ+V なので、不等式2,3を満たすために、
     X0 = floor(max{c2,U2γ+V,V})+1
とする。

     M2 < c3c1-1+c1-1log(4*sqrt(2))+c4c1-1(log M+c7)(log log M+c8)r+2
となる。

[pai/gpによる計算]
gp> X0=floor(max(c2,real(rr[1])))+1
%20 = 10
gp> he=log(25)
%21 = 3.2188758248682007492015186664523752791
gp> om=omega_pe(0,100)
%22 = [1.9525058408310857780342384695553117088 + 1.1272797727981439702863148749992807873*I, 1.9525058408310857780342384695553117088 - 1.1272797727981439702863148749992807873*I]
gp> om1=om[1];om2=om[2];
gp> A0=AA(e1,p0,he,om)
%24 = 7.2551974569368714023763130305686229291
gp> A1=AA(e1,p1,he,om)
%25 = 5.8182087461960155656004424623896539478
gp> eb=eeb1(e1,p1,A0,A1,om)
time = 4 ms.
%26 = 2.2194678189347779213019302896307597563
gp> c4=cc4(1,eb,A0*A1)
%27 = 4177600148.5659449865249107480776890216
gp> c5=cc5(eb)
%28 = 0.79726744594591780901099344226782543171
gp> c6=cc6(c5,he)
%29 = 4.0161432708141185582125121087202007107
gp> c7=cc7(c6,1,3)
%30 = 5.2189222261488949162744240123093930820
gp> c8=cc8(c6,1,3)
%31 = 4.4499540793508910256426115499415791123
gp> g(m)=m^2-(c3/c1+log(4*sqrt(2))/c1+(c4/c1)*(log(m)+c7)*(log(log(m))+c8)^3)
%32 = (m)->m^2-(c3/c1+log(4*sqrt(2))/c1+(c4/c1)*(log(m)+c7)*(log(log(m))+c8)^3)
gp> gdash(m)=2*m-(c4/c1)*((1/m)*(log(log(m))+c8)^3+(log(m)+c7)*3*(log(log(m))+c8)^2*(1/log(m))*(1/m))
%33 = (m)->2*m-(c4/c1)*((1/m)*(log(log(m))+c8)^3+(log(m)+c7)*3*(log(log(m))+c8)^2*(1/log(m))*(1/m))
gp> nn(x)=x-g(x)/gdash(x)
%34 = (x)->x-g(x)/gdash(x)
gp> x=10^100;for(i=1,350,x=nn(x);print(x))
5.0000000000000000000000000000000000000 E99
2.5000000000000000000000000000000000000 E99
1.2500000000000000000000000000000000000 E99
6.2500000000000000000000000000000000000 E98
3.1250000000000000000000000000000000000 E98
......
19636376980.435921958843493946981688516
9818192952.1950535490731567148339298561
4909105078.4502275507680883592351718020
2454569106.4559201069809521809054168525
1227316424.3238922633833112714918098467
613719450.54506942885343143826981783347
306977236.04085983581171387179474000487
153713754.94464299270104868997454062565
77287206.516263098478283388619519056371
39462062.818797159343316682914951862667
21265354.487061433936475711633009771147
13376531.760158199958471514018778067896
10966163.676676288986794650024054546213
10684743.566548596559239389687777998646
10680766.514800241170187259026169134032
10680765.719273599622528645447386764844
10680765.719273567791617633831215647156
10680765.719273567791617633831164686178
10680765.719273567791617633831164686178
10680765.719273567791617633831164686178
10680765.719273567791617633831164686178
......
10680765.719273567791617633831164686178
10680765.719273567791617633831164686178
10680765.719273567791617633831164686178
time = 37 ms.
主不等式(11)より、
     M < 10680765.719273567791617633831164686178
であることが分かる。
しかし、ここで求めたMの上限は大き過ぎるので、LLL-algorithmによって、上限を下げる。

■不等式4と主不等式を単純に、
     |φ(P)| < K1exp(-K2M2), M < K3
と書くことができる。
ここで、
     K1 = (4*sqrt(2)/ω)*exp(c3),
     K2 = c1,
     K3 = 110680765.719273567791617633831164686178
である。

[pari/gpによる計算]
gp> K3=10680765.719273567791617633831164686178
%36 = 10680765.719273567791617633831164686178
gp> K1=(4*sqrt(2)/2*real(om1))*exp(c3)
%37 = 81.340044860311620673121250333244295982
gp> K2=c1
%38 = 0.29670519961554547173233123788060006183
gp> KK0(1,3,K3)
%39 = 4106835228600338.9019170096626634655746
K0=1030, A=[1,  0 ; [K0*φ(P1)]  K0] にLLL-algorithmを適用して、reduced basis {b1,b2}を求めると、
     b1 = [ -618992010160831, 554313013233940]t
となる。このとき、
     ||b1|| >= 2(1/2)*3*K3*sqrt(2) = 6*K3
ならば、
     M2 <= K2-1(log(K0K1) - log(2-3*3^(-2)*||b1||2-3*K32)-3*K3)
が成立する。

[pari/gpによる計算]
gp> K3=10680765.719273567791617633831164686178
%36 = 10680765.719273567791617633831164686178
gp> K1=(4*sqrt(2)/2*real(om1))*exp(c3)
%37 = 81.340044860311620673121250333244295982
gp> K2=c1
%38 = 0.29670519961554547173233123788060006183
gp> KK0(1,3,K3)
%39 = 4106835228600338.9019170096626634655746
gp> K0=10^30
%40 = 1000000000000000000000000000000
gp> a1=floor(K0*phi(e1,p1,K0))
%41 = 895509157040515541976085999671
gp> aaa=[1,0;a1,K0]
%42 =
[                             1                               0]

[895509157040515541976085999671 1000000000000000000000000000000]

gp> bbb=qflll(aaa,1)
%43 =
[-618992010160831 -764775000272237]

[ 554313013233940  684863015819451]

gp> b1n=nr(bbb)
%44 = 830911562853373.97483187710970896489543
gp> b1n-2^(1/2)*3*K3*sqrt(2)
%45 = 830911498768779.65919047036000316190844
gp> M2=(1/K2)*(log(K0*K1)-log(sqrt(3^(-2)*b1n^2/2-3*K3^2)-3*K3))
time = 1 ms.
%46 = 136.72774475936590541441937698606189885
gp> sqrt(M2)
%47 = 11.693063959431929209001635896400090836

よって、
     M <= 11
が得られた。

■最後に、|m1| <= 11, m0=0,1,2について、P=m1P1+m0Tが整点かどうかを確認する。

[pari/gpによる計算]
gp> check1(11,e1,p1)
[24, 118]
[-4, -6]
[-4, 6]
[24, -118]
There are 4 integral points.
time = 2 ms.
gp> check1t(11,e1,p1,[0,10])
[2660, -137190]
[20, -90]
[0, 10]
[5, -15]
There are 4 integral points.
time = 1 ms.
gp> check1t(11,e1,p1,[0,-10])
[5, 15]
[0, -10]
[20, 90]
[2660, 137190]
There are 4 integral points.
time = 4 ms.

よって、楕円曲線E1の整点は、
     (-4,±6), (0,±10), (5,±15), (20,±90), (24,±118), (2660,±137190)
の12個に限る。

■楕円曲線E1の整点(X,Y)で、ある整数u,v >= 0に対して、(X,Y)=(5u2,5v)を満たすものを求める。
条件(X,Y) = (5u2,5v)を満たすE1の整点(X,Y)は、
     (0,±10), (5,±15), (20,±90)
であるので、u,v >= 0より、
     (u,v) = (0,2), (1,3), (2,18)
を得る。

よって、不定方程式(C+)の整数解(u,v)は、
     (0,±2), (±1,±3), (±2,±18)
の10個に限る。

■次に楕円曲線E2の有理点を求める。
楕円曲線E2の判別式 Δ2,j-不変量 j2,conductor N2は、それぞれ、
     Δ2 = -4320000
     j2 = 0
     N2 = 3600
である。

E2のねじれ点群E2(Q)torsは自明である。
     E2(Q)tors = {O}

[pari/gpによる計算]
gp> read("c12.gp");
time = 2 ms.
gp> e2=ellinit([0,0,0,0,-100])
%2 = [0, 0, 0, 0, -100, 0, 0, -400, 0, 0, 86400, -4320000, 0, Vecsmall([1]), [Vecsmall([128, -1])], [0, 0, 0, 0, 0, 0, 0, 0]]
gp> e2.j
%3 = 0
gp> e2.disc
%4 = -4320000
gp> ellglobalred(e2)
%5 = [3600, [1, 0, 0, 0], 12, [2, 4; 3, 2; 5, 2], [[4, -1, 0, 2], [2, 3, 0, 2], [2, 4, 0, 3]]]
gp> elltors(e2)
%6 = [1, [], []]

■楕円曲線E2のMordell-Weil群E2(Q)を求める。
mwrank3によって、E2(Q)のrankは1であり、その生成元はP1(34,198)であることが分かる。

[mwrank3による計算]
bash-2.05a$ mwrank3
Program mwrank: uses 2-descent (via 2-isogeny if possible) to
determine the rank of an elliptic curve E over Q, and list a
set of points which generate E(Q) modulo 2E(Q).
and finally search for further points on the curve.
For more details see the file mwrank.doc.
For details of algorithms see the author's book.

Please acknowledge use of this program in published work, 
and send problems to John.Cremona@nottingham.ac.uk.

Version compiled on Feb 11 2003 at 17:40:15 by GCC 3.2.1
using base arithmetic option LiDIA_ALL (LiDIA bigints and multiprecision floating point)
Using LiDIA multiprecision floating point with 15 decimal places.
Enter curve: [0,0,0,0,-100]

Curve [0,0,0,0,-100] :  No points of order 2
Basic pair: I=0, J=2700
disc=-7290000
2-adic index bound = 2
After 2-adic refinement (case 1); 2-adic index = 2
2-adic index = 2
Two (I,J) pairs
Looking for quartics with I = 0, J = 2700
Looking for Type 3 quartics:
Trying positive a from 1 up to 2 (square a first...)
(1,2,-6,-2,-4)  --trivial
Trying positive a from 1 up to 2 (...then non-square a)
Trying negative a from -1 down to -4
(-1,0,-6,6,3)   --nontrivial...not locally soluble (p = 2)
(-1,0,0,10,0)   --trivial
(-1,-1,-6,4,4)  --trivial
(-1,2,6,8,-1)   --nontrivial...not locally soluble (p = 2)
Finished looking for Type 3 quartics.
Looking for quartics with I = 0, J = 172800
Looking for Type 3 quartics:
Trying positive a from 1 up to 10 (square a first...)
(1,0,-204,1584,-3468)   --nontrivial...(x:y:z) = (1 : 1 : 0)
Point = [34 : 198 : 1]
        height = 2.36755906384651
Doubling global 2-adic index to 2
global 2-adic index is equal to local index
so we abort the search for large quartics
Rank of B=im(eps) increases to 1
Exiting search for large quartics after finding enough globally soluble ones.
Mordell rank contribution from B=im(eps) = 1
Selmer  rank contribution from B=im(eps) = 1
Sha     rank contribution from B=im(eps) = 0
Mordell rank contribution from A=ker(eps) = 0
Selmer  rank contribution from A=ker(eps) = 0
Sha     rank contribution from A=ker(eps) = 0
Rank = 1
Points generating E(Q)/2E(Q):
Point [34 : 198 : 1], height = 2.36755906384651
After descent, rank of points found is 1

Generator 1 is [34 : 198 : 1]; height 2.36755906384651

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) = 2.36755906384651

 (3 seconds)
Enter curve: [0,0,0,0,0]
bash-2.05a$ 

よって、E2のMordell-Weil群は
     E2(Q) = { n(34,198) : n ∈ Z}
である。
P1の2倍点 2(34,198)=(9469/1089, 848447/35937)は整点ではないので、楕円曲線E2の整点(X,Y)は、
     (34, ±198)
の2個に限ることが、楕円曲線E1の場合と同様にして分かる。

[pari/gpによる計算]
gp> ellpow(e2,[34,198],2)
%7 = [9469/1089, 848447/35937]
任意のP ∈ E2(Q)に対して、有理整数m1が存在して、
     P = m1P1
となる。

f2(x)=x^3-100とする。
f2(x)=0の1個の実根をγ,2個の虚根をγ',γ''とする。
     γ ≒ 4.641588833612778892410076350,
     γ' ≒ -2.320794416806389446205038175+4.019733843830848449722146517*sqrt{-1},
     γ'' ≒ -2.320794416806389446205038175-4.019733843830848449722146517*sqrt{-1}
γ=100^(1/3)は無理数である。

(X,Y)がE2の整点であるとする。
f2(X) > 0 iff (X > γ)
よって、X > γの範囲で、E2の整点を求める。

[pari/gpによる計算]
gp> f2(x)=x^3-100
%8 = (x)->x^3-100
gp> poldisc(f2(x))
%9 = -270000
gp> rr=polroots(f2(x))
%10 = [4.6415888336127788924100763509194465765 + 0.E-38*I, -2.3207944168063894462050381754597232883 - 4.0197338438308484497221465170634973413*I, -2.3207944168063894462050381754597232883 + 4.0197338438308484497221465170634973413*I]~
gp> factor(f2(x))
time = 3 ms.
%11 =
[x^3 - 100 1]

■不等式1
P ∈ E2(Q)がP=m1P1で表現されるとすると、
     h^(P) >= c1|m1|
である。
ここで、c1 ≒ 1.183779531923256607332588106である。

[pari/gpによる計算]
gp> p1=[34,198];
gp> H=[ellbil(e2,p1,p1)/2]
time = 4 ms.
%13 = [1.1837795319232566073325881070400034703]
gp> dd=H[1]-x
time = 3 ms.
%14 = -x + 1.1837795319232566073325881070400034703
gp> ww=polroots(dd)
%15 = [1.1837795319232566073325881070400034703 + 0.E-38*I]~
gp> c1=real(ww[1])
%16 = 1.1837795319232566073325881070400034703
■不等式2
     c2 = 2*max{|γ|,|γ'|,|γ''|} ≒
とする。任意のx >= c2に対して、
     |∫x(dt/sqrt{f2(t)})| <= 4*sqrt(2)|x|-1/2
となる。

[pari/gpによる計算]
gp> c2=2*max3(abs(rr[1]),abs(rr[2]),abs(rr[3]))
%17 = 9.2831776672255577848201527018388931531
■不等式3
U=1,V=0とする。
X0を正の有理整数で、X0 > Vとする。
このとき、任意のP ∈ E2(Q), X(P) >= X0に対して、
     x(P) > 0,
     h^(P)-(1/2)*log x(P) <= c3
となる。

[pari/gpによる計算]
gp> c0=log(1)
%18 = 0.E-38
gp> c3=cc3(c0,e2)
%19 = 2.6898040869649970753691685620072333021
■不等式4
不等式1,2,3より、
     |φ(P)|=|(1/ω)∫x(P)(dt/sqrt{f2(t)})| <= (4*sqrt(2)/ω)|x(P)|-1 <= (4*sqrt(2)/ω)exp(c3-c1M2)
を得る。

■主不等式
P ∈ E0(R) iff x(P) >= γ iff X(P) >= U2γ+V なので、不等式2,3を満たすために、
     X0 = floor(max{c2,U2γ+V,V})+1
とする。

     M2 < c3c1-1+c1-1log(4*sqrt(2))+c4c1-1(log M+c7)(log log M+c8)r+2
となる。

[pari/gpによる計算]
gp> X0=floor(max(c2,real(rr[1])))+1
%20 = 10
gp> he=log(25)
%21 = 3.2188758248682007492015186664523752791
gp> om=omega_pe(0,-100)
%22 = [1.1272797727981439702863148749992807873 + 1.9525058408310857780342384695553117088*I, 1.1272797727981439702863148749992807873 - 1.9525058408310857780342384695553117088*I]
gp> om1=om[1];om2=om[2];
gp> A0=AA(e2,[0],he,om)
time = 1 ms.
%24 = 7.2551974569368714023763130305686229291
gp> A1=AA(e2,p1,he,om)
%25 = 3.2188758248682007492015186664523752791
gp> eb=eeb1(e2,p1,A0,A1,om)
%26 = 2.2194678189347779213019302896307597563
gp> c4=cc4(1,eb,A0*A1)
%27 = 2311222699.4221510767761916494234119320
gp> c5=cc5(eb)
%28 = 0.79726744594591780901099344226782543171
gp> c6=cc6(c5,he)
%29 = 4.0161432708141185582125121087202007107
gp> c7=cc7(c6,1,1)
time = 2 ms.
%30 = 4.0786432708141185582125121087202007107
gp> c8=cc8(c6,1,1)
%31 = 4.0386853808280086114525109318608552754
gp> g(m)=m^2-(c3/c1+log(4*sqrt(2))/c1+(c4/c1)*(log(m)+c7)*(log(log(m))+c8)^3)
%32 = (m)->m^2-(c3/c1+log(4*sqrt(2))/c1+(c4/c1)*(log(m)+c7)*(log(log(m))+c8)^3)
gp> gdash(m)=2*m-(c4/c1)*((1/m)*(log(log(m))+c8)^3+(log(m)+c7)*3*(log(log(m))+c8)^2*(1/log(m))*(1/m))
%33 = (m)->2*m-(c4/c1)*((1/m)*(log(log(m))+c8)^3+(log(m)+c7)*3*(log(log(m))+c8)^2*(1/log(m))*(1/m))
gp> nn(x)=x-g(x)/gdash(x)
%34 = (x)->x-g(x)/gdash(x)
gp> x=10^100;for(i=1,350,x=nn(x);print(x))
5.0000000000000000000000000000000000000 E99
2.5000000000000000000000000000000000000 E99
1.2500000000000000000000000000000000000 E99
6.2500000000000000000000000000000000000 E98
3.1250000000000000000000000000000000000 E98
......
153443109.37126282437362872942204977560
76769411.793358575821354590335693064704
38475880.207084098830811498302789921314
19411081.526287711620149856618851486678
10031952.472674397397323704382498430987
5618128.6768278101749339143277498001708
3845980.4950135631732175465155546851744
3416357.2943221198530269603894142008937
3387262.7142171650631805499179040063067
3387127.2644605371704367514802396008367
3387127.2615234450435911148662648092885
3387127.2615234450422101038841071931657
3387127.2615234450422101038841071931654
3387127.2615234450422101038841071931654
3387127.2615234450422101038841071931654
3387127.2615234450422101038841071931654
......
3387127.2615234450422101038841071931654
3387127.2615234450422101038841071931654
time = 49 ms.

主不等式より、
     M < 3387127.2615234450422101038841071931654
であることが分かる。
しかし、ここで求めたMの上限は大き過ぎるので、LLL-algorithmによって、上限を下げる。

■上記の不等式4と主不等式を単純に、
     |φ(P)| < K1exp(-K2M2), M < K3
と書くことができる。
ここで、
     K1 = (4*sqrt(2)/ω)*exp(c3),
     K2 = c1,
     K3 = 3387127.2615234450422101038841071931654
である。

[pari/gpによる計算]
gp> K3=3387127.2615234450422101038841071931654
%36 = 3387127.2615234450422101038841071931654
gp> K1=(4*sqrt(2)/2*real(om1))*exp(c3)
%37 = 46.961696795997149811297563944335919333
gp> K2=c1
%38 = 1.1837795319232566073325881070400034703
gp> KK0(1,1,K3)
%39 = 45890524343021.248261937087292869018682
■K0=1030, A=[1,  0 ; [K0*φ(P1)]  K0] にLLL-algorithmを適用して、reduced basis {b1,b2}を求めると、
     b1 = [ -495659053773364, 150841508231333]t
となる。このとき、
     ||b1|| >= 2(1/2)*3*K3*sqrt(2) = 6*K3
ならば、
     M2 <= K2-1(log(K0K1) - log(2-3*3^(-2)*||b1||2-3*K32)-3*K3)
が成立する。

[pari/gpによる計算]
gp> K0=10^30
%40 = 1000000000000000000000000000000
gp> a1=floor(K0*phi(e2,p1,K0))
time = 7 ms.
%41 = 304325134551671139642397292726
gp> aaa=[1,0;a1,K0]
%42 =
[                             1                               0]

[304325134551671139642397292726 1000000000000000000000000000000]

gp> bbb=qflll(aaa,1)
%43 =
[-495659053773364 1015420129494559]

[ 150841508231333 -309017867534907]

gp> b1n=nr(bbb)
%44 = 518103327718525.51238706861405070702014
gp> b1n-2^(1/2)*3*K3*sqrt(2)
%45 = 518103307395761.94324639836079008371549
gp> M2=(1/K2)*(log(K0*K1)-log(sqrt(3^(-2)*b1n^2/2-3*K3^2)-3*K3))
%46 = 34.204743497464874932752645598459901793
gp> sqrt(M2)
%47 = 5.8484821532996811336651467778348433154

よって、
     M <= 5
が得られた。

■最後に、|m1| <= 5について、P=m1P1が整点かどうかを確認する。

[pari/gpによる計算]
gp> check1(5,e2,p1)
[34, -198]
[34, 198]
There are 2 integral points.
よって、楕円曲線曲線E2の整点(X,Y)は、
     (34, ±198)
の2個に限る。

これらの整点について、(X,Y)=(5u2,5v)を満たす整数u,vは存在しないので、(C-)は整数解を持たない。

■以上の結果をまとめると、下記のようになる。
不定方程式(C±): v2-5u6 = ±4の整数解(u,v)は、
     (0,±2), (±1,±3), (±2,±18)
の10個に限る。
よって、(C±)の非負整数解(u,v)は、
     (0,2), (1,3), (2,18)
の3個に限る。

従って、Fibonacci数列に現れる3乗数u3は、0,1,8に限ることが証明された。

[2021.03.17追記]
"c1-c8,楕円対数の計算プログラム(pari/gp)"の関数eeb1(),eeb2(),eeb3()の誤りを修正し、計算結果を見直し、訂正した。


[参考文献]


Last Update: 2021.06.20
H.Nakao

Homeに戻る[Homeに戻る]  一覧に戻る[一覧に戻る]