hujunhua
发表于 2013-2-22 19:09:04
f := {{x[], x[], 3 x[] x[] - x[]}, {x[], x[],3 x[] x[] - x[]}};
g := Flatten;
h := Select, #[] < 10^10 &]
Answer = NestWhileList > 0 &];
Flatten
(Flatten // Length) + 2 {{1, 2, 5}, {1, 5, 13}, {2, 5, 29}, {1, 13, 34}, {5, 13, 194}, {2, 29,169}, {5, 29, 433}, {1, 34, 89}, {13, 34, 1325}, {5, 194, 2897}, {13, 194, 7561}, {2, 169, 985},{29,169,14701}, {5, 433,6466}, {29, 433, 37666}, {1, 89, 233}, {34, 89, 9077}, {13, 1325, 51641}, {34, 1325, 135137}, {5, 2897, 43261}, {194, 2897, 1686049},{13,7561,294685}, {194, 7561, 4400489}, {2, 985, 5741}, {169, 985, 499393}, {29, 14701, 1278818}, {169, 14701, 7453378}, {5, 6466, 96557}, {433, 6466, 8399329}, {29, 37666,3276509}, {433, 37666, 48928105}, {1, 233, 610}, {89, 233, 62210}, {34, 9077, 925765}, {89, 9077, 2423525}, {13, 51641,2012674}, {1325,51641,205272962}, {34, 135137, 13782649}, {1325, 135137, 537169541}, {5, 43261, 646018}, {2897, 43261, 375981346}, {194, 1686049, 981277621}, {13,294685, 11485154}, {7561, 294685, 6684339842}, {194, 4400489,2561077037}, {2, 5741, 33461}, {985, 5741, 16964653}, {169, 499393, 253191266}, {985,499393, 1475706146}, {29, 1278818, 111242465}, {169, 7453378, 3778847945}, {5, 96557, 1441889}, {6466,96557, 1873012681}, {29, 3276509, 285018617}, {1,610, 1597}, {233,610, 426389}, {89, 62210, 16609837}, {233, 62210, 43484701}, {34,925765, 94418953}, {89, 2423525, 647072098}, {13, 2012674, 78442645}, {34,13782649, 1405695061}, {5, 646018, 9647009}, {13,11485154, 447626321}, {2, 33461, 195025}, {5741, 33461,576298801}, {29, 111242465, 9676815637}, {5,1441889, 21531778}, {1,1597, 4181}, {610, 1597, 2922509}, {233, 426389, 298045301}, {610,426389, 780291637}, {89, 16609837, 4434764269}, {34,94418953,9629807441}, {13, 78442645, 3057250481}, {5, 9647009,144059117}, {2, 195025, 1136689}, {5, 21531778, 321534781}, {1, 4181, 10946}, {1597,4181,20031170}, {610, 2922509,5348189873}, {5, 144059117, 2151239746}, {2, 1136689, 6625109}, {5, 321534781, 4801489937}, {1, 10946, 28657}, {4181,10946, 137295677}, {2, 6625109, 38613965}, {1, 28657, 75025}, {10946,28657, 941038565}, {2, 38613965, 225058681}, {1, 75025,196418}, {28657,75025,6449974274}, {2, 225058681, 1311738121}, {1,196418, 514229}, {2, 1311738121, 7645370045}, {1, 514229,1346269}, {1, 1346269, 3524578}, {1,3524578, 9227465}, {1, 9227465,24157817}, {1, 24157817, 63245986}, {1, 63245986, 165580141}, {1, 165580141, 433494437}, {1, 433494437, 1134903170}, {1,1134903170, 2971215073}, {1, 2971215073, 7778742049}}
107
10^10以内的解除{1,1,1}和{1,1,2}外都在此处了,共计107个。
hujunhua
发表于 2013-2-22 19:36:36
由于对称性,可以定义满足方程的 x 的递增序列,它将包含方程的解集{{x,y,z}}中的所有数值。这个序列称为马尔科夫数(Markov numbers),见A002559:
{1, 2, 5, 13, 29, 34, 89, 169, 194, 233, 433, 610, 985, 1325, 1597, 2897, 4181, 5741, 6466, 7561, 9077,...}
数学星空
发表于 2013-2-22 19:48:40
http://en.wikipedia.org/wiki/Markov_number
对于这类不定方程最有趣的是如何构造递推解
例:x^2+y^2+z^2+u^2=4*x*y*z*u 的递推解如何?
chyanog
发表于 2013-2-22 23:41:33
Mathematica里面取下标[[]]看着有点碍眼,我更喜欢用f := Block[{x, y, z}, {x, y, z} = n; {{x, z, 3 x z - y}, {y, z, 3 y z - x}}];
wayne
发表于 2013-2-22 23:49:46
24# chyanog
最好对n做一下模式判定
wayne
发表于 2013-2-23 13:51:52
23# 数学星空
根据mathe的分析,我们可以这么递推,
如果存在解 {x,y,z,t},x<=y<=z<=t , 那么,那么必然同时存在解 {x,y,z,4xyz-t}
从{1,1,1,1},我们可以推出 {1,1,1,3}
从{1,1,1,3},我们推出{1,1,3,11}
从{1,1,3,11},我们推出{1, 3, 11, 131},{1, 1, 11, 41}
......
继续同理,我们可以找到数列:http://oeis.org/A075276
不过该数列貌似第16项开始就不对了,应该是29681。
{1, 3, 11, 41, 131, 153, 571, 1561, 1803, 2131, 5761, 7953, 17291, \
18601, 25091, 29681, 79291, 110771, 221651, 253353, 295681, 349451, \
413403, 817961, 2282281, 2453891, 2641211, 3018753, 3252611, 3487001, \
4114771, 4867203}
wayne
发表于 2013-2-23 14:15:52
21# hujunhua
我也写了程序:
Union@Flatten[
NestList[Union@Sort@Flatten[Table[Union[
Map] & /@
NestList]], {ii, #}], 1] &, {{1, 1, 1, 1}}, 5], 1]
1 1 1 1
1 1 1 3
1 1 3 11
1 1 11 41
1 1 41 153
1 1 153 571
1 1 571 2131
1 3 11 131
1 3 131 1561
1 3 1561 18601
1 3 18601 221651
1 11 41 1803
1 11 131 5761
1 11 1803 79291
1 11 5761 253353
1 11 79291 3487001
1 11 253353 11141771
1 41 153 25091
1 41 1803 295681
1 41 25091 4114771
1 41 295681 48489881
1 131 1561 817961
1 131 5761 3018753
1 131 817961 428610003
1 131 3018753 1581820811
1 153 571 349451
1 153 25091 15355651
1 1561 18601 116144641
1 1561 817961 5107348353
1 1803 79291 571846681
1 1803 295681 2132451331
1 5761 253353 5838266521
1 5761 3018753 69564144001
3 11 131 17291
3 11 17291 2282281
3 11 2282281 301243801
3 131 1561 2453891
3 131 17291 27181441
3 131 2453891 3857515091
3 131 27181441 42729207961
3 1561 18601 348433931
3 1561 2453891 45966286081
3 17291 2282281 473555049241
3 17291 27181441 5639931555841
11 41 1803 3252611
11 41 3252611 5867708441
11 131 5761 33206403
11 131 17291 99665321
11 131 33206403 191401701131
11 131 99665321 574470892953
11 1803 79291 6290313611
11 1803 3252611 258036135811
11 5761 253353 64220931851
11 5761 33206403 8417291857921
解的个数呈指数膨胀,迭代10次,得到4927组
mathe
发表于 2013-2-23 18:55:55
23# 数学星空
根据mathe的分析,我们可以这么递推,
如果存在解 {x,y,z,t},x
wayne 发表于 2013-2-23 13:51 http://bbs.emath.ac.cn/images/common/back.gif
这样无法保证得到所有的解。无穷递降后不一定必然可以变换到全1,我们需要穷举一定范围内的解
wayne
发表于 2013-2-23 19:10:35
28# mathe
恩,是的
mathe
发表于 2013-2-23 19:17:21
为了找到所有解,我们先查看一般有两个正根的二次方程
$x^2-bx+c=0$以及两根$x_1<=x_2$,于是$x_1(x_1+x_2)<=2x_1x_2$,得出$x_1<={2c}/b$