add fermat_factorization