Homeに戻る  一覧に戻る 

Integral Points of Surface: x(x^2-1)+y(y^2-1)=z(z^2-1)


[2004.03.08]x(x^2-1)+y(y^2-1)=z(z^2-1)の整点



■最初に、Alf van der Poorten[1](p164, XI.15)にあるBombieriの方程式
     xCn+yCn=zCn    ただし、n >= 3, mCn=m!/{n!(m-n)!}
の整数解(x,y,z)についてのエピソードを紹介する。

1979年の数論の会合で、E.Bombieriはこの方程式は自明な解を持たないと意見した。
次の朝、R.Ap\'eryが"n=3のときの解(x,y,z)=(10,16,17)を徹夜で見つけた!"とBombieriに報告した。
すると、Bombieriは、"そのとおり!!私は自明な解はないといったのだ"と答えた。

以下では、n=3の場合のBombieriの方程式について考察する。

■x-1,y-1,z-1をそれぞれx,y,zに置き換えると、Bombieriの方程式(n=3)は、
     C: x(x2-1)+y(y2-1)=z(z2-1)
となる。

C言語でプログラムを作成し、1 <= x < y < = 1000の範囲で整数解(x,y,z)を探すと、以下のように多数見つかる。
bash-2.05a$ gcc -m486 -O2 den3.c -lm -o den3
bash-2.05a$ time ./den3 1000
[9,15,16]
[21,55,56]
[31,56,59]
[35,119,120]
[40,71,75]
[49,139,141]
[62,103,110]
[85,91,111]
[101,291,295]
[120,155,176]
[137,533,536]
[150,430,436]
[188,202,246]
[220,516,529]
[231,904,909]
[249,451,475]
[253,425,453]
[273,689,703]
[305,696,715]
[315,528,563]
[325,664,689]
[328,337,419]
[350,714,741]
[363,416,493]
[379,791,819]
[400,589,645]
[425,449,551]
[425,706,754]
[435,496,589]
[490,870,919]
[533,644,748]
[609,755,869]
[776,951,1099]
total 33 solutions

real    0m0.880s
user    0m0.743s
sys     0m0.011s
ここで、他にも、1 <= x = yなる整数解(x,y,z)=(4,4,5)があることに注意する。
また、検索範囲をさらに広げても、このように多くの解を見つけることができる。

よって、曲面Cの正整数点(x,y,z)は無数に存在するだろうと予想できる。

■曲面Cの正整数点は無数に存在することを証明する。
定数dを任意の正整数とする。
曲面Cと平面Hd: z = y+dの交わりである曲線
     Cd: x(x2-1)+y(y2-1) = (y+d)((y+d)2-1), z=y+d
について、考察する。
曲線Cdは、双有理変換φ
     3dx=X,
     9d2y=Y
[逆変換ψは、
     x=X/{3d},
     y=Y/{9d2},
     z=Y/{9d2}+d,
]
によって、楕円曲線
     Ed: Y2+9d3Y = X3-9d2X-27d6+27d4
に写される。

[pari/gpによる計算]
gp>  read("./den3.gp")
time = 21 ms.
gp>  cc(x,y,z)
time = 24 ms.
%1 = x^3 - x + (y^3 - y + (-z^3 + z))
gp>  ee(d,x,y)
time = 75 ms.
%2 = x^3 - 9*d^2*x + (-y^2 - 9*d^3*y + (-27*d^6 + 27*d^4))
gp>  e=ec(d)
time = 19 ms.
%3 = [0, 0, 9*d^3, -9*d^2, -27*d^6 + 27*d^4, 0, -18*d^2, -27*d^6 + 108*d^4, -81*d^4, 432*d^2, 5832*d^6 - 23328*d^4, -19683*d^12 + 157464*d^10 - 314928*d^8 + 46656*d^6, 110592/(-27*d^6 + 216*d^4 - 432*d^2 + 64), 0, 0, 0, 0, 0, 0]
gp>  e.disc
time = 0 ms.
%4 = -19683*d^12 + 157464*d^10 - 314928*d^8 + 46656*d^6
gp>  factor(e.disc)
time = 49 ms.
%5 = 
[d 6]

[27*d^6 - 216*d^4 + 432*d^2 - 64 1]

gp>  e.j
time = 0 ms.
%6 = 110592/(-27*d^6 + 216*d^4 - 432*d^2 + 64)
gp>  factor(e.j)
time = 15 ms.
%7 = 
[27*d^6 - 216*d^4 + 432*d^2 - 64 -1]

曲線Cdは、自明な整点(x,y,z)
     (d,0,d), (d,-d,0),
     (d-1,-1,d-1), (d-1,-d+1,1),
     (d+1, 1, d+1), (d+1,-d-1,-1)
を持つので、楕円曲線Edも有理変換φで対応付けられた有理点(整点でもある)
     P1(3d2,0), -P1(3d2,-9d3),
     P2(3d2-3d, -9d2), -P2(3d2-3d, -9d3+9d2),
     P3(3d3+3d,9d2), -P3(3d3+3d,-9d3-9d2)
を持つことが分かる。

ここで、楕円曲線Ed上で、Q1=P1-P2, Q2=P2-P3, Q3=P3-P1をそれぞれ計算すると、
     Q1(9d4 - 18d3 + 3d2 + 3d, -27d6 + 81d5 - 54d4 - 18d3 + 9d2),
     -Q1(9d4 - 18d3 + 3d2 + 3d, 27d6 - 81d5 + 54d4 + 9d3 - 9d2),
     Q2((9/4)d4 - 6d2, (27/8)d6 - (27/2)d4 - (9/2)d3 + 9d2),
     -Q2((9/4)d4 - 6d2, (27/8)d6 - (27/2)d4 - (9/2)d3 + 9d2),
     Q3(9d4 + 18d3 + 3d2 - 3d, 27d6 + 81d5 + 54d4 - 18d3 - 9d2),
     -Q3(9d4 + 18d3 + 3d2 - 3d, 27d6 + 81d5 + 54d4 + 9d3 + 9d2),
となる。

[pari/gpによる計算]
gp>  e=ellinit([0,0,9*d^3,-9*d^2,-27*d^6+27*d^4])
time = 14 ms.
%14 = [0, 0, 9*d^3, -9*d^2, -27*d^6 + 27*d^4, 0, -18*d^2, -27*d^6 + 108*d^4, -81*d^4, 432*d^2, 5832*d^6 - 23328*d^4, -19683*d^12 + 157464*d^10 - 314928*d^8 + 46656*d^6, 110592/(-27*d^6 + 216*d^4 - 432*d^2 + 64), 0, 0, 0, 0, 0, 0]
gp>  p1=[3*d^2,0]
time = 2 ms.
%15 = [3*d^2, 0]
gp>  p2=[3*d^2-3*d,-9*d^2]
time = 1 ms.
%16 = [3*d^2 - 3*d, -9*d^2]
gp>  p3=[3*d^2+3*d,9*d^2]
time = 0 ms.
%17 = [3*d^2 + 3*d, 9*d^2]
gp>  elladd(e,p1,ellpow(e,p2,-1)) 
time = 2 ms.
%18 = [9*d^4 - 18*d^3 + 3*d^2 + 3*d, -27*d^6 + 81*d^5 - 54*d^4 - 18*d^3 + 9*d^2]
gp>  elladd(e,p2,ellpow(e,p3,-1))
time = 6 ms.
%19 = [9/4*d^4 - 6*d^2, 27/8*d^6 - 27/2*d^4 - 9/2*d^3 + 9*d^2]
gp>  elladd(e,p3,ellpow(e,p1,-1))
time = 6 ms.
%20 = [9*d^4 + 18*d^3 + 3*d^2 - 3*d, -27*d^6 - 81*d^5 - 54*d^4 + 9*d^3 + 9*d^2]
gp>  ellpow(e,%20,-1)
time = 0 ms.
%21 = [9*d^4 + 18*d^3 + 3*d^2 - 3*d, 27*d^6 + 81*d^5 + 54*d^4 - 18*d^3 - 9*d^2]
gp> ellpow(e,%18,-1)
time = 0 ms.
%22 = [9*d^4 - 18*d^3 + 3*d^2 + 3*d, 27*d^6 - 81*d^5 + 54*d^4 + 9*d^3 - 9*d^2]
gp>  ellpow(e,%19,-1)
time = 0 ms.
%23 = [9/4*d^4 - 6*d^2, -27/8*d^6 + 27/2*d^4 - 9/2*d^3 - 9*d^2]
これらの±Qi(i=1,2,3)を双有理変換ψで写すと、Cd上の有理点±Riを得る。
     R1(3d3 - 6d2 + d + 1, -3d4 + 9d3 - 6d2 - 2d + 1, -3d4 + 9d3 - 6d2 - d + 1),
     -R1(3d3 - 6d2 + d + 1, 3d4 - 9d3 + 6d2 + d - 1, 3d4 - 9d3 + 6d2 + 2d - 1),
     R2((3/4)d3 - 2d, (3/8)d4 - (3/2)d2 - (1/2)d + 1, (3/8)d4 - (3/2)d2 + (1/2)d + 1),
     -R2((3/4)d3 - 2d, -(3/8)d4 + (3/2)d2 - (1/2)d - 1, -(3/8)d4 + (3/2)d2 + (1/2)d - 1),
     R3(3d3 + 6d2 + d - 1, -3d4 - 9d3 - 6d2 + d + 1, -3d4 - 9d3 - 6d2 + 2d + 1),
     -R3(3d3 + 6d2 + d - 1, 3d4 + 9d3 + 6d2 - 2d - 1, 3d4 + 9d3 + 6d2 - d - 1)
となる。
dが整数のとき、±R1, ±R3はCdの整点である。
また、さらにdが偶数であるとき、±R2はCdの整点である。
正整数dが異なるとき、これらの整点も互いに異なる。
曲面Cの(正)整数点は、曲線Cdの(正)整数点を含むので、曲面Cは無数に(正)整数点を持つことを容易に示すことができる。

[pari/gpによる計算]
gp>  g(p)=local(x,y);x=p[1];y=p[2];[x/(3*d),y/(9*d^2),y/(9*d^2)+d]
time = 0 ms.
gp> g(%18)
time = 7 ms.
%24 = [3*d^3 - 6*d^2 + d + 1, -3*d^4 + 9*d^3 - 6*d^2 - 2*d + 1, -3*d^4 + 9*d^3 - 6*d^2 - d + 1]
gp>  g(%22)
time = 12 ms.
%25 = [3*d^3 - 6*d^2 + d + 1, 3*d^4 - 9*d^3 + 6*d^2 + d - 1, 3*d^4 - 9*d^3 + 6*d^2 + 2*d - 1]
gp>  g(%19)
time = 9 ms.
%26 = [3/4*d^3 - 2*d, 3/8*d^4 - 3/2*d^2 - 1/2*d + 1, 3/8*d^4 - 3/2*d^2 + 1/2*d + 1]
gp>  g(%23)
time = 9 ms.
%27 = [3/4*d^3 - 2*d, -3/8*d^4 + 3/2*d^2 - 1/2*d - 1, -3/8*d^4 + 3/2*d^2 + 1/2*d - 1]
gp>  g(%20)
time = 13 ms.
%28 = [3*d^3 + 6*d^2 + d - 1, -3*d^4 - 9*d^3 - 6*d^2 + d + 1, -3*d^4 - 9*d^3 - 6*d^2 + 2*d + 1]
gp>  g(%21)
time = 1 ms.
%29 = [3*d^3 + 6*d^2 + d - 1, 3*d^4 + 9*d^3 + 6*d^2 - 2*d - 1, 3*d^4 + 9*d^3 + 6*d^2 - d - 1]
■各正整数dに対して、-R1, -R3を計算してみると、以下のようになる。
また、正の偶数dに対して、R2を計算してみると、以下のようになる。

[pari/gpによる計算]
gp>  rm1(d)=[3*d^3 - 6*d^2 + d + 1, 3*d^4 - 9*d^3 + 6*d^2 + d - 1, 3*d^ - 9*d^3 + 6*d^2 + 2*d - 1]
time = 0 ms.
gp>  r2(d)=[3/4*d^3 - 2*d, 3/8*d^4 - 3/2*d^2 - 1/2*d + 1, 3/8*d^4 - 3/2d^2 + 1/2*d + 1]
time = 0 ms.
gp>  rm3(d)=[3*d^3 + 6*d^2 + d - 1, 3*d^4 + 9*d^3 + 6*d^2 - 2*d - 1, 3*^4 + 9*d^3 + 6*d^2 - d - 1]
time = 2 ms.
gp>  for(i=1,50,print(rm1(i)))
[-1, 0, 1]
[3, 1, 3]
[31, 56, 59]
[101, 291, 295]
[231, 904, 909]
[439, 2165, 2171]
[743, 4416, 4423]
[1161, 8071, 8079]
[1711, 13616, 13625]
[2411, 21609, 21619]
[3279, 32680, 32691]
[4333, 47531, 47543]
[5591, 66936, 66949]
[7071, 91741, 91755]
[8791, 122864, 122879]
[10769, 161295, 161311]
[13023, 208096, 208113]
[15571, 264401, 264419]
[18431, 331416, 331435]
[21621, 410419, 410439]
[25159, 502760, 502781]
[29063, 609861, 609883]
[33351, 733216, 733239]
[38041, 874391, 874415]
[43151, 1035024, 1035049]
[48699, 1216825, 1216851]
[54703, 1421576, 1421603]
[61181, 1651131, 1651159]
[68151, 1907416, 1907445]
[75631, 2192429, 2192459]
[83639, 2508240, 2508271]
[92193, 2856991, 2857023]
[101311, 3240896, 3240929]
[111011, 3662241, 3662275]
[121311, 4123384, 4123419]
[132229, 4626755, 4626791]
[143783, 5174856, 5174893]
[155991, 5770261, 5770299]
[168871, 6415616, 6415655]
[182441, 7113639, 7113679]
[196719, 7867120, 7867161]
[211723, 8678921, 8678963]
[227471, 9551976, 9552019]
[243981, 10489291, 10489335]
[261271, 11493944, 11493989]
[279359, 12569085, 12569131]
[298263, 13717936, 13717983]
[318001, 14943791, 14943839]
[338591, 16250016, 16250065]
[360051, 17640049, 17640099]
time = 45 ms.
gp> for(i=1,50,print(rm3(i)))[9, 15, 16]
[49, 139, 141]
[137, 533, 536]
[291, 1431, 1435]
[529, 3139, 3144]
[869, 6035, 6041]
[1329, 10569, 10576]
[1927, 17263, 17271]
[2681, 26711, 26720]
[3609, 39579, 39589]
[4729, 56605, 56616]
[6059, 78599, 78611]
[7617, 106443, 106456]
[9421, 141091, 141105]
[11489, 183569, 183584]
[13839, 234975, 234991]
[16489, 296479, 296496]
[19457, 369323, 369341]
[22761, 454821, 454840]
[26419, 554359, 554379]
[30449, 669395, 669416]
[34869, 801459, 801481]
[39697, 952153, 952176]
[44951, 1123151, 1123175]
[50649, 1316199, 1316224]
[56809, 1533115, 1533141]
[63449, 1775789, 1775816]
[70587, 2046183, 2046211]
[78241, 2346331, 2346360]
[86429, 2678339, 2678369]
[95169, 3044385, 3044416]
[104479, 3446719, 3446751]
[114377, 3887663, 3887696]
[124881, 4369611, 4369645]
[136009, 4895029, 4895064]
[147779, 5466455, 5466491]
[160209, 6086499, 6086536]
[173317, 6757843, 6757881]
[187121, 7483241, 7483280]
[201639, 8265519, 8265559]
[216889, 9107575, 9107616]
[232889, 10012379, 10012421]
[249657, 10982973, 10983016]
[267211, 12022471, 12022515]
[285569, 13134059, 13134104]
[304749, 14320995, 14321041]
[324769, 15586609, 15586656]
[345647, 16934303, 16934351]
[367401, 18367551, 18367600]
[390049, 19889899, 19889949]
time = 9 ms.
gp>  for(i=1,50,print(r2(i*2)))
[2, 0, 2]
[40, 71, 75]
[150, 430, 436]
[368, 1437, 1445]
[730, 3596, 3606]
[1272, 7555, 7567]
[2030, 14106, 14120]
[3040, 24185, 24201]
[4338, 38872, 38890]
[5960, 59391, 59411]
[7942, 87110, 87132]
[10320, 123541, 123565]
[13130, 170340, 170366]
[16408, 229307, 229335]
[20190, 302386, 302416]
[24512, 391665, 391697]
[29410, 499376, 499410]
[34920, 627895, 627931]
[41078, 779742, 779780]
[47920, 957581, 957621]
[55482, 1164220, 1164262]
[63800, 1402611, 1402655]
[72910, 1675850, 1675896]
[82848, 1987177, 1987225]
[93650, 2339976, 2340026]
[105352, 2737775, 2737827]
[117990, 3184246, 3184300]
[131600, 3683205, 3683261]
[146218, 4238612, 4238670]
[161880, 4854571, 4854631]
[178622, 5535330, 5535392]
[196480, 6285281, 6285345]
[215490, 7108960, 7109026]
[235688, 8011047, 8011115]
[257110, 8996366, 8996436]
[279792, 10069885, 10069957]
[303770, 11236716, 11236790]
[329080, 12502115, 12502191]
[355758, 13871482, 13871560]
[383840, 15350361, 15350441]
[413362, 16944440, 16944522]
[444360, 18659551, 18659635]
[476870, 20501670, 20501756]
[510928, 22476917, 22477005]
[546570, 24591556, 24591646]
[583832, 26851995, 26852087]
[622750, 29264786, 29264880]
[663360, 31836625, 31836721]
[705698, 34574352, 34574450]
[749800, 37484951, 37485051]
time = 21 ms.

■n=3の場合のBombieriの方程式xC3+yC3=zC3は、無数の正整数解(x,y,z)を持つ。

任意の正整数dに対して、以下はxC3+yC3=zC3の整数解(x,y,z)の一部である。
     (3d3 - 6d2 + d + 2, 3d4 - 9d3 + 6d2 + d, 3d4 - 9d3 + 6d2 + 2d),
     (6d3 - 4d + 1, 6d4 - 6d2 - d + 2, 6d4 - 6d2 + d + 2),
     (3d3 + 6d2 + d, 3d4 + 9d3 + 6d2 - 2d, 3d4 + 9d3 + 6d2 - d)

d >= 2の場合、これらの解は
     0 < x < y < z
を満たし、互いに異なることは容易に分かる。


[参考文献]


Last Update: 2005.06.12
H.Nakao

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