For N = 4 (X^4 + Y^4 = Z^4) is not such nice:
Code:
with pN(n, lim, eps) as
( select 4, 700, double(1e-7) from sysibm.sysdummy1)
,
ArgX(x, XpN) as
(select int(1), double(1) from sysibm.sysdummy1
union all
select X + 1, power(double(X + 1), N)
from ArgX, pN
where X + 1 <= lim
)
,
ArgY(y, YpN) as
(select * from ArgX )
,
ArgZ(z, ZpN) as
(select int(1), double(1) from sysibm.sysdummy1
union all
select Z + 1, power(double(Z + 1), N)
from ArgZ, pN
where Z + 1 <= lim * power(2, 1. / n) + 1
)
select X "..X.." , Y "..Y..", Z "..Z.." , N "Power",
(ZpN - (XpN + YpN)) "Absolute Difference" ,
double(ZpN) / double(XpN + YpN) - 1.0 "Relative Difference"
from ArgX , ArgY, ArgZ, pN
where ZpN between (XpN + YpN) * ( 1. - eps) and (XpN + YpN) * ( 1. + eps)
and X < Y
and Y < Z
and X < Z
and Z <= X + Y
order by abs(ZpN - (XpN + YpN)), X, Y
Result:
Quote:
..X.. ..Y.. ..Z.. Power Absolute Difference Relative Difference
167 192 215 4 -1.92000000000000E+002 -8.98560555129269E-008
242 471 479 4 1.10400000000000E+003 2.09713808541068E-008
334 384 430 4 -3.07200000000000E+003 -8.98560555129269E-008
216 647 649 4 5.18400000000000E+003 2.92204040963640E-008
179 635 636 4 -1.22900000000000E+004 -7.51144320215724E-008
501 576 645 4 -1.55520000000000E+004 -8.98560555129269E-008
452 602 645 4 1.69930000000000E+004 9.81818568668302E-008
496 627 681 4 -1.77760000000000E+004 -8.26505138634692E-008
|
For eps = 1e-9 we don't have any solutions for this interval.
Lenny