|
問題
x,y,zは自然数とするとき、x^3+y^3+z^3=6xyzを満たすx,y,zを求めよ。
考察
1≦x≦y≦zとする。
●mを自然数とすると、(x,y,z)=(m,2m,3m)は題意を満たす。
整数解では、(x,y,z)=(n,2n,3n)、(-n,n,0)が自明である。
●x^3+y^3+z^3=6xyzより、右辺は偶数なので、左辺も偶数である。
(x,y,z)=(偶数,偶数,偶数)
(x,y,z)=(偶数,奇数,奇数)
(x,y,z)=(奇数,偶数,奇数)
(x,y,z)=(奇数,奇数,偶数)
●zの範囲
x,yを固定すると、z{z^2+(-6xy)}=-(x^3+y^3)<0より、z^2+(-6xy)<0 ∴z<√(6xy)
以上をもとに、コーディングすると、
OPTION ARITHMETIC RATIONAL !多桁の整数
DEF GCD3(X,Y,Z)=GCD(GCD(X,Y),Z)
LET T=2000 !上限
!(x,y,z)=(奇数,偶数,奇数)
FOR X=1 TO T STEP 2
FOR Y=X+1 TO 2*T STEP 2
LET P=6*X*Y
LET Q=X^3+Y^3
LET Z=Y+1
LET W=Z^2-P
DO WHILE W<0
IF Z*W=-Q THEN
IF GCD3(X,Y,Z)=1 THEN PRINT X;Y;Z
END IF
LET Z=Z+2
LET W=Z^2-P
LOOP
NEXT Y
NEXT X
END
または、
OPTION ARITHMETIC RATIONAL !多桁の整数
DEF GCD3(X,Y,Z)=GCD(GCD(X,Y),Z)
FOR Z=1 TO 6000 STEP 2 !上限
FOR X=1 TO Z STEP 2
FOR Y=X+1 TO Z STEP 2
IF X^3+Y^3+Z^3=6*X*Y*Z THEN
IF GCD3(X,Y,Z)=1 THEN PRINT X;Y;Z
END IF
NEXT Y
NEXT X
NEXT Z
END
(x,y,z)=(1,2,3)、(1817,3258,5275)、(4904676969,10840875082,15051171563)、…
2番目以降を求めるのに苦労する。
考察
x^3+y^3+z^3=6xyzをz≠0という仮定のもと変形すると、(x/z)^3+(y/z)^3+1-6(x/z)(y/z)=0
よって、x^3+y^3+z^3=6xyzの整数解は、
X^3+Y^3-6XY+1=0の有理数解(X,Y)が求まれば、x=Xz,y=Yzとなる整数x,y,z
として得られる。
ところで、x^3+y^3+z^3=6xyzの自明な整数解は、
z=0のとき、x^3+y^3=0
∴(x+y)(x^2-xy+y^2)=(x+y){(x-y)^2+xy}=0 ∴x+y=0 ∴x=-y
これより、(n,-n,0)
z=1のとき、x^3+y^3+1=6xy (2,3,1) これより、(2n,3n,n)
である。
(2,3,1)、(1,-1,0)として、x,y,zを並び替えて、
(X,Y)=(2,3),(3,2),(1/2,3/2),(3/2,1/2),(1/3,2/3),(2/3,1/3),(0,-1),(-1,0)
の8点が対応する。
3次曲線Eの有理点P[1],P[2],…,P[n]から2点を結んでEとのもう1つの交点をとる。
この操作を繰り返すことにより、Eの有理点が得られる。
(終り)
OPTION ARITHMETIC RATIONAL !有理数
LET XB=3/1
LET YB=2/1
LET X1=-1/1 !赤色の線
LET Y1= 0/1
CALL try(X1,Y1, XB,YB, XX,YY)
LET X1= 0/1 !緑色の線
LET Y1=-1/1
CALL try(X1,Y1, XX,YY, X3,Y3)
CALL try(X3,Y3, XB,YB, X3,Y3) !青色の線
CALL try(X3,Y3, XX,YY, X3,Y3) !茶色の線
PRINT
CALL try(X3,Y3, XB,YB, X3,Y3) !?色の線
CALL try(X3,Y3, XX,YY, X3,Y3) !?色の線
PRINT
CALL try(X3,Y3, XB,YB, X3,Y3) !?色の線
CALL try(X3,Y3, XX,YY, X3,Y3) !?色の線
PRINT
CALL try(X3,Y3, XB,YB, X3,Y3) !?色の線
CALL try(X3,Y3, XX,YY, X3,Y3) !?色の線
PRINT
END
!点(x1,y1)、(x2,y2)を通る直線と曲線X^3+Y^3+1-6XY=0との交点を求める
EXTERNAL SUB try(X1,Y1, X2,Y2, X3,Y3)
OPTION ARITHMETIC RATIONAL !有理数
IF X2-X1=0 THEN !y軸に平行
!x=x1=mと連立させて、M^3+Y^3-6MY+1=0 解と係数の関係より、Y1+Y2+Y3=0
LET X3=X1
LET Y3=-(Y1+Y2)
PRINT "("; STR$(X1); ","; STR$(Y1); ")と("; STR$(X2); ","; STR$(Y2); ")を通る直線"
PRINT X3;Y3
ELSE
LET M=(Y2-Y1)/(X2-X1) !2点を通る直線 y={(y2-y1)/(x2-x1)}(x-x1)+y1=mx+n
LET N=-M*X1+Y1
!!!PRINT M;N !debug
!y=mx+nと連立させて、残りの解を得る。
!X^3+(MX+N)^3+1-6X(MX+N)=0 ∴(M^3+1)X^3+(3M^2N-6M)X^2+(3MN^2-6N)X+(N^3+1)=0
!解と係数の関係より、X^2について、X1+X2+X3=-(3M^2N-6M)/(M^3+1)
IF M^3+1=0 THEN !2次式になる
PRINT "解なし"
STOP
ELSE
LET X3=-(3*M^2*N-6*M)/(M^3+1)-(X1+X2)
LET Y3=M*X3+N
PRINT "("; STR$(X1); ","; STR$(Y1); ")と("; STR$(X2); ","; STR$(Y2); ")を通る直線"
PRINT X3;Y3
END IF
END IF
END SUB
実行結果
(-1,0)と(3,2)を通る直線
1/3 2/3
(1/3,2/3)と(0,-1)を通る直線
1/2 3/2
(1/2,3/2)と(3,2)を通る直線
-52/21 19/21
(-52/21,19/21)と(1/3,2/3)を通る直線
5275/3258 1817/3258
(5275/3258,1817/3258)と(3,2)を通る直線
124904/2847511 -3096807/2847511
(124904/2847511,-3096807/2847511)と(1/3,2/3)を通る直線
4904676969/10840875082 15051171563/10840875082
(4904676969/10840875082,15051171563/10840875082)と(3,2)を通る直線
-458665691607396/203863624933571 150777667094725/203863624933571
(-458665691607396/203863624933571,150777667094725/203863624933571)と(1/3,2/3)を通る直線
81821352777652044467/46875396961726681714 29381282043563909553/46875396961726681714
(81821352777652044467/46875396961726681714,29381282043563909553/46875396961726681714)と(3,2)を通る直線
6593378373315887264027696/71494678266896520634735569 -84573893519721693268169777/71494678266896520634735569
(6593378373315887264027696/71494678266896520634735569,-84573893519721693268169777/71494678266896520634735569)と(1/3,2/3)を通る直線
214674741825814609600406026499153/518752964649250744517842481308050 666161010410184261713443501009747/518752964649250744517842481308050
|
|