找回密码
 欢迎注册
查看: 36344|回复: 5

[讨论] 一道数论题

[复制链接]
发表于 2012-3-2 10:53:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
我们知道如下等式 $3^2-2^3=1$ $3^3-5^2=2$ $2^8-5^3=3$ 现在,我提出一个2问题,不知能否解决。 1.对于一个给定的小的正整数c,满足不定方程$a^m-b^n=c$且a>1,b>1,m>1,n>1,的整数解(a,b,m,n)是有限的。 2.如果能够证明1,可否有出求方程1的解的通过算法。 注: 1. 或许(1)中的方程不能叫做不定方程,因为其指数也是未知数。 2. 对于c=1,在a和b的素因子不超过某个数的情况下,其解是有限的,它是Stormer's theorem的一个特例,见http://en.wikipedia.org/wiki/St%C3%B8rmer%27s_theorem
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-3-2 14:46:18 | 显示全部楼层
这种数确实很少。 我扫描了$2^50$以内的乘方数(若 $n=i ^ e$, (i,e是整数,且i>1,e>1)则称n是乘方数),检查相邻2个数之间的差,若<=16,则输出。结果为 c=[1] 9-8=1 9=3^2 8=2^3 c=[2] 27-25=2 27=3^3 25=5^2 c=[3] 128-125=3 128=2^7 125=5^3 c=[4] 8-4=4 8=2^3 4=2^2 36-32=4 36=6^2 32=2^5 125-121=4 125=5^3 121=11^2 c=[5] 32-27=5 32=2^5 27=3^3 c=[7] 16-9=7 16=2^4 9=3^2 32768-32761=7 32768=2^15 32761=181^2 c=[8] 97344-97336=8 97344=312^2 97336=46^3 c=[9] 25-16=9 25=5^2 16=2^4 225-216=9 225=15^2 216=6^3 64009-64000=9 64009=253^2 64000=40^3 c=[10] 2197-2187=10 2197=13^3 2187=3^7 c=[11] 3136-3125=11 3136=56^2 3125=5^5 3375-3364=11 3375=15^3 3364=58^2 c=[12] 2209-2197=12 2209=47^2 2197=13^3 c=[13] 49-36=13 49=7^2 36=6^2 256-243=13 256=2^8 243=3^5 4913-4900=13 4913=17^3 4900=70^2 c=[15] 64-49=15 64=2^6 49=7^2 1295044-1295029=15 1295044=1138^2 1295029=109^3 c=[16] 144-128=16 144=12^2 128=2^7
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-3-2 23:09:42 | 显示全部楼层
对于比较小的$c$值,通常取$m/n~~ln(b)/ln(a)$ 可以用连分数来逼近$m/n$的值,这样更容易搜到解
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-3-3 13:36:22 | 显示全部楼层
有道理
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-3-5 18:14:05 | 显示全部楼层
给出求渐进连分数的代码,方便自己和别人参考。
  1. #include "stdafx.h"
  2. #include "math.h"
  3. typedef int BASE_INT_TYPE;
  4. typedef __int64 DOUBLE_INT_TYPE;
  5. typedef struct _base_pair
  6. {
  7. DOUBLE_INT_TYPE p;
  8. DOUBLE_INT_TYPE q;
  9. }BASE_PAIR;
  10. typedef struct _base_pair_3e
  11. {
  12. BASE_PAIR d[3];
  13. }BASE_PAIR_3E;
  14. void continued_frac_serial(double f)
  15. {
  16. BASE_INT_TYPE a[2];
  17. BASE_PAIR_3E pqs;
  18. double cf,tf;
  19. int i;
  20. tf=f;
  21. pqs.d[0].p=a[0]=(BASE_INT_TYPE)(tf);
  22. pqs.d[0].q=1;
  23. cf=(double)(pqs.d[0].p)/(double)(pqs.d[0].q);
  24. printf("\nf=%.16f\n[0]:%I64d/%I64d=%.16f\n",f,pqs.d[0].p,pqs.d[0].q,cf);
  25. tf -= a[0];
  26. tf=1.0/tf;
  27. for (i=1;1;i++)
  28. {
  29. a[1]= (BASE_INT_TYPE)(tf);
  30. tf -= a[1];
  31. tf=1.0/tf;
  32. if (i==1)
  33. {
  34. pqs.d[1].p = pqs.d[0].p * a[1] +1; //p1=a0 * a1+1
  35. pqs.d[1].q = a[1]; //q1=a1
  36. cf=(double)(pqs.d[1].p)/(double)(pqs.d[1].q);
  37. }
  38. else
  39. {
  40. pqs.d[2].p= pqs.d[1].p * a[1] + pqs.d[0].p; //p[n]= a[n] * p[n-1] + p[n-2];
  41. pqs.d[2].q= pqs.d[1].q * a[1] + pqs.d[0].q; //q[n]= a[n] * q[n-1] + q[n-2];
  42. cf=(double)(pqs.d[2].p)/(double)(pqs.d[2].q);
  43. }
  44. printf("[%d]:%I64d/%I64d=%.16f\n",i,pqs.d[1].p,pqs.d[1].q,cf);
  45. if ( fabs(cf-f) < f * 2.3e-16)
  46. {
  47. break;
  48. }
  49. a[0]=a[1];
  50. if (i>=2)
  51. {
  52. pqs.d[0].p=pqs.d[1].p;
  53. pqs.d[0].q=pqs.d[1].q;
  54. pqs.d[1].p=pqs.d[2].p;
  55. pqs.d[1].q=pqs.d[2].q;
  56. }
  57. }
  58. }
  59. void test1()
  60. {
  61. double f;
  62. f=3.1415926535897932384626433832795;
  63. continued_frac_serial(f);
  64. f=log(3.0)/log(2.0); continued_frac_serial(f);
  65. f=log(5.0)/log(2.0); continued_frac_serial(f);
  66. }
  67. int _tmain(int argc, _TCHAR* argv[])
  68. {
  69. test1();
  70. return 0;
  71. }
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2017-1-23 15:37:03 | 显示全部楼层
https://en.wikipedia.org/wiki/Catalan%27s_conjecture
这好像是个没有解决的问题
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2025-1-22 23:34 , Processed in 0.027934 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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