wsc810 发表于 2011-12-9 12:49:18

这个其实不难理解,

如 $\sqrt{113}$前几个近似分数依次为$10/1,11/1,21/2,32/3,85/8,202/19,...,776/73$

将$n$等于$1$代入公式 $(p_nq_{n-1}+p_{n-1}q_n)y_0-2x_0q_nq_{n-1}$

         得      $(p_1q_0+p_0q_1)y_0-2x_0q_0q_1$

                               $=(11*1+10*1)*73 -2*776*1*1$

                              $=21*73-776$

                              $=-19$

其他的以此类推,取n=2,得 $(p_2q_1+p_1q_2)y_0-2x_0q_2q_1$

                                                $=(21*1+11*2)*73 -2*776*2*1$

                                                $=43*73-776*4$

                                                $=35$

wayne 发表于 2011-12-9 13:27:38

好吧,是我理解能力欠佳。代码如下m = 200;
p = Convergents, m];
q = Select^2 - 113 Denominator[#]^2] == 1 &];
Table]] Denominator]] Denominator[ p[]] (p[] + p[] - 2 q[]), {ii, 1,Length - 1}]我希望你能回答这个问题:
我上面的代码哪个地方你想不到,以至于非要我为你服务到如此地步,:) ?

wsc810 发表于 2011-12-9 18:56:41

:) 因为我从来没用mathematica编过程,只会用函数做计算,所以直接让我编程是有很大难度的,贴出你的代码我也学习了,你那个#号的作用我就不是很明白,他们可是不同的数啊,你编程时将原来的式子做了同时除以分母的处理,这个也很巧妙,需要好好学习
页: 1 [2]
查看完整版本: Mathematica达人帮忙了,有关pell方程