NB. Pell Equation NB. Written by NAKANO Yoshihiro Mar.2009 NB. pellmy =: 3 : 0 NB. pelly =: 3 : 0 for _1 pelly 41 d=. y rd=. <.%: d q0=.0 p0=.q1=. 1 p1=.rd t=.1 a=. p1 s=.0 i=.1 NB. k=. 20 NB. k=. 1000 NB. k =. 200 k=. 500 while. k>: i do. s=.(a*t)-s t=.<.((d-(s^2))%t) a=.<.((s+rd)%t) p2=.x:(a*p1)+p0 NB. old without x: q2=.x:(a*q1)+q0 NB. without x: p0=.p1 q0=.q1 p1=.p2 q1=.q2 if.(s=rd)*.(t=_1^i) do. break. end. NB. old (t=1) i=.i+1 end. wr ' D = ', ":d NB. old none wr (p0n=. # ": p0) NB. H21.3.24 wr (q0n=. # ": q0) NB. H21.3.25 if. p0n > 100 do. wr p0n, '', q0n end. p0 ,'', q0 ) pchk =: 3 : 0 NB. 59 pchk 530 69 : d=. x p0=. 0{ Y =. y q0=. 1{ Y x: (p0^2) - d*q0^2 )