https://profilbaru.com/en/Fermat's_factorization_method