Let's try to find the solutions of
x/y+y/z+z/x=n
in the range -100 ≤ n ≤ 100.
This equation is not symmetric for x, y, z, so we cannot assume,
0 < |x| ≤ |y| ≤ |z|.
So we have to analyze six permutations of x,y,z by four sign,
( x, y, z)
(-x, y, z)
( x,-y, z)
( x, y,-z)
total 24 cases, at a first glance.
... But we can reduce the cost of computation.
The equation x/y+y/z+z/x is not symmetric, but it is cyclic, so
(x,y,z), (y,z,x), (z,x,y) are equivalent
(z,y,x), (x,z,y), (y,x,z) are equivalent
so we should search only two cases, (x,y,z) and (z,y,x).
10 ' xyyzzx.ub : x/y+y/z+z/x=n
20 for Z=1 to 1000
30 for Y=1 to Z
40 for X=1 to Y
50 if and{X=Y,Y=Z} then 70 else R=fnSub(X,Y,Z)
60 if and{X=Y,Y=Z} then 70 else R=fnSub(X,Z,Y)
70 if or{X=Y,X=Z} then 90 else R=fnSub(-X,Y,Z)
80 if or{X=Y,X=Z} then 90 else R=fnSub(-X,Z,Y)
90 if or{X=Y,Y=Z} then 110 else R=fnSub(X,-Y,Z)
100 if or{X=Z,Y=Z} then 110 else R=fnSub(X,-Z,Y)
110 if or{X=Z,Y=Z} then 130 else R=fnSub(X,Y,-Z)
120 if or{X=Y,Y=Z} then 130 else R=fnSub(X,Z,-Y)
130 next X
140 next Y
150 next Z
160 end
170 fnSub(X,Y,Z)
180 N=X//Y+Y//Z+Z//X:if den(N)>1 then return(0)
190 if N=0 then return(0)
200 if abs(N)>1000 then return(0)
210 if gcd(X,Y,Z)>1 then return(0)
220 print N;":";X;",";Y;",";Z
230 return(0)
Solutions for -100 ≤ n ≤ -1
Solutions for 1 ≤ n ≤ 100
We can get the solutions of x/y+y/z+z/x=n using elliptic curve.
Transform this equation as u/v+v+1/u=n. Under the following birational map,
X = -u
Y = uv
this equation is equivalent to the following elliptic curve E,
E : Y2+nXY=X3
Opposite direction is,
u = -X
v = -Y/X
Solutions for -100 ≤ n ≤ -1
Solutions for 1 ≤ n ≤ 100
Now we have got;
n = -48 : (x,y,z) = (72072752816411426700, 33132848506525529596688, -2507202774146263930905)
n = 62 : (x,y,z) = (4467832378776170000, -51609086900999886977, 278221158496143039700)
| previous | index |
|---|