给定一个数 ,费马分解法寻找整数
和
使得
。那么
(1)
|
并且 被分解。对此观察的修改形式导致了 Dixon 分解法 和 二次筛法。
每个正奇数都可以表示成 的形式,通过写作
(其中
)并注意到这给出了
(2)
| |||
(3)
|
加法和减法,
(4)
| |||
(5)
|
因此求解 和
得到
(6)
| |||
(7)
|
因此,
(8)
|
作为 的第一次尝试,尝试
,其中
是上限函数。然后检查是否
(9)
|
是一个平方数。仅有最后两位数字的 22 种组合可以是平方数,因此可以排除大多数组合。如果 不是一个平方数,那么尝试
(10)
|
所以
(11)
| |||
(12)
| |||
(13)
| |||
(14)
|
继续
(15)
| |||
(16)
| |||
(17)
| |||
(18)
| |||
(19)
|
因此随后的差值可以通过简单地加二获得。
Maurice Kraitchik 通过寻找满足以下条件的 和
加速了算法
(20)
|
即,。这个同余式有不有趣的解
和有趣的解
。结果表明,如果
是奇数且可被至少两个不同的素数整除,那么至少一半的
的解(其中
与
互质)是有趣的。对于这样的解,
既不是
也不是 1,因此是的
一个非平凡因子 (Pomerance 1996)。这个算法可以用来证明素性,但并不实用。1931 年,Lehmer 和 Powers 发现了如何使用连分数搜索这样的对。这种方法在 1975 年被 Morrison 和 Brillhart 改进为连分数分解算法,这是在二次筛法分解方法开发之前使用的最快算法。