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$
页: 1 2 [3] 4 5
查看完整版本: 解丢番图方程x^2+y^2+z^2=3xyz