找回密码
 欢迎注册
楼主: gxqcn

[欣赏] 奇妙的平方数拆分组合(内含Pell方程链接)

[复制链接]
发表于 2008-11-5 14:25:31 | 显示全部楼层
Prelude> let base=[1..10000] Prelude> let all = [(x, y, z) | x <- base, y <- base, z <- base, z > 2 * x, x * x * x * 10 + y * y * y == z * z * z]
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-5 14:31:12 | 显示全部楼层
呵呵,对k=1的情形,我们可以计算10的立方根,将每次得到的小数化为渐进分数,然后取分子和分母来做为z,x的值,看能不能碰上一个解。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-5 14:33:43 | 显示全部楼层
你如果有个好的计算连分数的算法 可以考虑这么做
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-5 14:46:32 | 显示全部楼层
k = 1的取决于下列方程 是否有整数解 $x^3 + y^3 + z^3 + w^3 = t^3$
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-5 17:23:20 | 显示全部楼层
5^3+7^3+9^3+10^3=13^3
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-5 17:28:30 | 显示全部楼层
10x^3 + y^3 = z^3 ==> (2x)^3 + x^3 + x^3 + y^3 = z^3
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-5 18:10:13 | 显示全部楼层
$10^kx^3+y^3=z^3$ 如果x不是7的倍数,两边对7取余数,可以得到 $10^k=+-2(mod 7)$ 所以$k=2,5(mod 6)$ 也就是k=1时的解必须有7|x
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-5 19:29:41 | 显示全部楼层
立方 对7取余数 是否只有 0,1,6三个结果?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-5 20:26:45 | 显示全部楼层
#include #include #include #define Max 10000 int isPower3(long long pow) { long long i, j, t, k; double l1, l2; if (pow == 1) return 1; if ((pow % 2) == 0) if ((pow % 8) > 0) return 0; else return (isPower3(pow >> 3)); if ((pow % 3) == 0) if ((pow % 27) > 0) return 0; else return (isPower3(pow / 27)); if ((pow % 5) == 0) if ((pow % 125) > 0) return 0; else return (isPower3(pow / 125)); if ((pow % 7) == 0) if ((pow % 343) > 0) return 0; else return (isPower3(pow / 343)); l1 = log(pow) / 3 - 0.001; l2 = l1 + 0.001; i = floor(exp(l1) - 0.001); j = floor(exp(l2) + 0.001); for (t = i; t <= j; t ++) { k = t * t * t; if (k == pow) return 1; if (k > pow) return 0; } return 0; } void Test(void) { long long i, j, t; for (i = 7; i <= 7 * Max; i += 7) for (j = 1; j <= Max; j ++) { t = 10 * i * i *i + j * j * j; if (isPower3(t)) printf("Find: %qd %qd %qd \n", i, j, t); } } int main(void) { long long p, t; if (isPower3(8)) printf("8 is Club.\n"); if (isPower3(1000)) printf("1000 is Club.\n"); if (isPower3(8 * 27)) printf("8 * 27 is Club.\n"); if (isPower3(11 * 11 * 11)) printf("11 * 11 * 11 is Club.\n"); if (isPower3(11 * 11 * 13)) printf("11 * 11 * 13 is Club.\n"); if (isPower3(37 * 37 * 37)) printf("37 * 37 * 37 is Club.\n"); t = 100000; p = t * (t + 1) * (t + 2); if (isPower3(p)) printf("%qd * %qd * %qd is Club.\n", t, (t + 1), (t + 2)); Test(); return 0; } 遍取10000内结果,并没发现解
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-11-19 11:06:16 | 显示全部楼层
原帖由 medie2005 于 2008-11-5 12:56 发表 现在,考虑立方情形。 即求解丢番图方程: $x^{3}*10^{k}+y^{3}=z^3$
现在我来考虑这个问题,目的是证明方程没有非0解。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-22 00:42 , Processed in 0.025879 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表