非线性同余解算器(模运算)

时间:2011-04-12 22:37:32

标签: math

是否有一种算法可以解决模运算中的非线性同余?我读到这样的问题被归类为NP-complete。

在我的具体案例中,同意的形式为:

x^3 + ax + b congruent to 0 (mod 2^64)

其中a和b是已知常数,我需要为x解决它。

2 个答案:

答案 0 :(得分:4)

请看Hensel's lemma

答案 1 :(得分:3)

是的,一般问题是NP-Complete。

这是因为布尔代数是算术模2!因此,任何3SAT公式都可以在算术模2中重写为等效的算术表达式。检查3SAT公式是否可满足等同于检查相应的arithemetic表达式是否为1。

例如,AND b在arithemetic中变为a.b. 不是1-a等。

但在你的情况下,谈论NP-Compleness毫无意义,因为它是一个特定的问题。

另外,lhf是对的。可以使用Hensel的Lifting引理。基本要点是要解决P(x) = 0 mod 2^(e+1)我们可以解决P(x) = 0 mod 2^e并将这些解决方案“解除”mod 2^(e+1)

以下是解释如何使用该文件的pdf:http://www.cs.xu.edu/math/math302/04f/PolyCongruences.pdf