解Pell方程x^2-dy^2=±1的Python代碼
方法是連分?jǐn)?shù)展開. 要求d為正整數(shù)且非平方數(shù). 如果x^2-dy^2=-1有解則返回其最小正整數(shù)解,否則返回x^2-dy^2=+1的最小正整數(shù)解.?
輸出的三行分別為
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
標(biāo)簽: