一般数体篩法
そのためには少し強い条件、つまり、それぞれの積は数体における平方数のノルムであるという条件が必要があるが、条件はこの手法でも達成できる。各 r は a − r1b のノルムであり、したがって、対応する素因数 a − r1b の積は Z[r1] において平方数であり、(Z[r1] の既知の素因数の積として)決定できる「平方根」を持つ。これは通常、無理数であるような代数的数として表される。同様に、素因数の積 a − r2b はZ[r2] において平方数であり、「平方根」も計算できる。なお、ガウスの消去法を使用しても、アルゴリズムは最適な実行時間とならないことに注意。代わりに、 ブロックランチョスアルゴリズム(英語版)やブロックヴィーデマンアルゴリズム(英語版)などの疎行列ソルバーアルゴリズムが用いられる。
m は n を法として f と g の両方の根であるため、環 Z[r1] と Z[r2] から環 Z/nZ(n を法とする整数全体)への準同型がある。これらの準同型は、 r1 と r2 を m に写し、各「平方根」(通常は有理数として表されない)をその整数の代表元に写す。今、因数 a − mb mod n の積は準同型ごとに1つずつ、2つの方法で平方数として求められる。したがって、x − y が n で割り切れる2つの数 x, y を見つけることができる。また、少なくとも 1/2 の確率で、 n と x − y の最大公約数を求めることで n の素因数を求められる。