def FermatFactor(N): A= m.ceil(m.sqrt(N)) Bsq= A*A-N BsqTest= m.sqrt(Bsq) while int(BsqTest)!=BsqTest: A= A+1 Bsq= A*A-N BsqTest= m.sqrt(Bsq) return (A-BsqTest, A+BsqTest)