wayne 发表于 2014-7-19 15:08:55

算不上什么高效算法。就是对于每一个给定的$a$,或者$b$,对$a^2-1$进行因式分解。分解成的因子对就是$c-b,c+b$

$a^2+b^2=c^2+-1$都是一样的,复杂度等同于整数的因子分解。

wayne 发表于 2014-7-19 15:24:05

Mathematica代码:

Flatten;
Drop[Select[
    Table[
      jj, (ii^2 - 1)/jj], {jj, Take, 2]]}],
    Last[#] \ Integers &], -1], {ii, 2, 100}], 1]

{7,4,8}
{5,5,7}
{17,6,18}
{11,7,13}
{4,7,8}
{31,8,32}
{9,8,12}
{19,9,21}
{8,9,12}
{49,10,50}
{15,10,18}
{29,11,31}
{13,11,17}
{7,11,13}
{71,12,72}
{41,13,43}

...

无心人 发表于 2014-7-20 11:01:07

针对
\( a^2 + b^2 + 1 = c^2 \)
找到一组通解
\( a = 2k, b = 2k^2, c=2k^2+1\)

cn8888 发表于 2014-7-20 12:08:31

Clear["Global`*"];(*Clear all variables*)
Do],{a,2,1000},{b,a,1000}]

求解\(a^2+b^2-1=c^2\)的代码,结果如下:

最弱智的办法就是最好的办法

cn8888 发表于 2014-7-20 12:22:13

wayne 发表于 2014-7-19 15:24
Mathematica代码:

很奇怪,你是如何如何做到把计算结果所在的行全部删除的?
我用下拉拖动的办法弄了半天.
后来想到一个好办法,
不知道你是如何解决的????????

wayne 发表于 2014-7-20 12:31:38

对于$a^2+b^2=c^2-1$,将12#的代码稍作改动,即可产生$b<=10^6$的全部解(非递推衍生,通过因式分解),有$2248542$组。




过滤三种特殊形式:

1)$a+1=c$, 即 ${2k^2,2k,2k^2+1}$
1)$b+1=c$, 即 ${2k,2k^2,2k^2+1}$
2)$a=b$ 这种情况是pell方程。有递推公式 $a_n = 6a_{n-1} - a_{n-2}$http://oeis.org/A001542

过滤后的解:
{18,30,35}
{22,46,51}
{28,76,81}
{32,100,105}
{34,38,51}
{38,142,147}
{42,174,179}
{44,68,81}
{48,228,233}
{52,268,273}
{58,334,339}
{60,132,145}
{62,382,387}
{64,112,129}
{68,80,105}
{68,460,465}
{70,182,195}
{72,144,161}
{72,516,521}
{78,606,611}



谁有兴趣 找找这剩下的部分的规律。

无心人 发表于 2014-7-20 16:16:08

{18,30,35}
{22,46,51}
{28,76,81}
{32,100,105}
{38,142,147}
{42,174,179}
{48,228,233}
{52,268,273}
{58,334,339}
第一个数在交替以4, 6的差递增,第二个跟第三个差5

无心人 发表于 2014-7-20 16:18:46

应该再补上下面的
12, 12, 17

无心人 发表于 2014-7-20 16:26:57

首项应该是
10k + 2
10k- 2

无心人 发表于 2014-7-20 16:31:09

1212
2246       34
32100   54    20
42174      74   20
52268      94   20

第一个数明显是一次幂多项式,第二个数明显是二次幂多项式
页: 1 [2] 3 4 5
查看完整版本: \(a^4+b^4+1=c^4\)有整数解吗?