medie2005 发表于 2008-12-6 17:59:36

n^2+(n+1)^2为平方数

请求出10^100内所有满足n^2+(n+1)^2=c^2的n.

无心人 发表于 2008-12-6 21:10:54

是毕达哥拉斯三角形的三个边的解
$n, n + 1, c$
设$X = n, Y = n + 1, Z = c$
则有$X = M^2 - N^2, Y = 2MN, Z = M^2 + N^2$
同样有$Y = M^2 - N^2, X = 2MN, Z = M^2 + N^2$
即$M^2 - N^2 - 2MN = +- 1$
变换得到$(M - N)^2 -2N^2 = +- 1$
是佩尔方程
有通解
设$M - N = x, N = y$
则有
$x = [(1 + sqrt(2))^r + (1-sqrt(2))^r] / 2$
$y = [(1 + sqrt(2))^r - (1-sqrt(2))^r] / {2sqrt(2)}$

$a_0 = 1, b_0 = 1, a_n = a_{n-1} + 2 b_{n-1}, b_n = a_{n-1} + b_{n-1}$
则有
$x = a_r, y = b_r$
$M = x + y, N = y$
已经得到结果
以下省略
呵呵

medie2005 发表于 2008-12-6 23:34:23

X_{0}=1,Y_{0}=0
X_{k+1 }= 3*X_{k} + 4*Y_{k} + 2
Y_{k+1} = 2* X_{k} + 3*Y_{k} + 1
那么,Y_{k}(k>=1)就是所求的n的所有解.

无心人 发表于 2008-12-7 11:33:28

那就

    takeWhile (\(x, y) -> y <= 10^100)\$ iterate (\(x, y) -> (3*x + 4*y + 2, 2*x + 3*y + 1))(5, 3)

得到你的答案

zYr 发表于 2008-12-7 22:08:19

楼上的数学公式是不是没写好?

无心人 发表于 2008-12-7 22:11:51

随便写的
哪里错了?
请指正

zYr 发表于 2008-12-7 22:27:07

:L
没显示出来呀!

zYr 发表于 2008-12-7 22:31:01


颜色不是蓝的啊
你没看出来么

gxqcn 发表于 2008-12-8 08:46:11

估计不是数学公式,而是某个外星人用的程序代码。

无心人 发表于 2008-12-8 09:25:50

呵呵
是计算这个问题的程序代码啊

和数学公式差不多吧
页: [1] 2
查看完整版本: n^2+(n+1)^2为平方数