解Pell方程x^2-dy^2=±1的Python代码
方法是连分数展开. 要求d为正整数且非平方数. 如果x^2-dy^2=-1有解则返回其最小正整数解,否则返回x^2-dy^2=+1的最小正整数解.
输出的三行分别为
x^2-dy^2
x
y
通过修改d可以求解各种Pell方程的基本解
x^2-61y^2=-1, x=29718, y=3805
x^2-67y^2=1, x=48842, y=5967
x^2-103y^2=1, x=227528, y=22419
x^2-109y^2=-1, x=8890182, y=851525
x^2-1997y^2=-1, x=384413533882, y=8602202005
x^2-1999y^2=1, x=4027701399389138208695911951306886478800, y=90084665203202024260494303744425250249
x^2-2001y^2=1, x=19742928095, y=441354968
x^2-2023y^2=1, x=2024, y=45
x^2-114514y^2=1, x=3058389164815894335086675882217709431950420307140756009821362546111334285928768064662409120517323199, y=9037815138660369922198555785216162916412331641365948545459353586895717702576049626533527779108680

