On to the next section! The “Algebra and Number Theory” section should take us through the end of the year.
The problem: Quadratic Congruences. This is problem AN1 in the appendix.
The description: Given positive integers a,b, and c, can we find a positive integer x < c such that x2 ≡ a (mod b)?
Example: Let a = 3, b = 7, c = 13. It turns out that for every x < c, x2≡ either 0,1,2 or 4 mod b. So this isn’t solvable. But if we change a to 2, then the first c that works is 3.
One thing I learned in doing this problem is that the squares of mod b will always form a cycle with period b. The proof is a pretty cool algebra problem if you set it up right.
Reduction: The paper by Manders and Adleman uses 3SAT. Starting from the list of variables, they define a set Σ that holds all 3-element clauses of 3 different literals from that list of variables. We won’t actually build this set (that’s exponential), but we can list out a number j for each of those clauses. Then define τΦ to be -1* the sum of 8j for each of the j numbers that correspond to the clauses in our actual formula.
For each variable i, we define fi+ to be the sum of 8j for each j number in ∑ that has that variable positively, and fi– to be -1* the sum of 8j for each number in Σ that has the variable negatively.
Let m be|Σ|, and set n=2m +The number of variables, and define a set C wit values c0 through cn:
- c0 = 1
- If j is odd(=2k-1) and ≤ 2m, cj = -8k/2
- If j is even (=2k) and ≤ 2m, cj = -8k
- If j is > 2m (= 2m+i), then cj = (fi++fi–)/2
Set τ = τΦ + The sum of all of the ci‘s + The sum of all of the fi–‘s.
This actually turns into a Subset Sum problem: Let C be our set, and count each value positively if we take it, and negatively if we don’t take it.
But we still need to prove this is SOS problem is solvable exactly when the original problem is.
Create a set p0 .. pn of consecutive prime numbers where the first one (p0) is 13. Then define a set of θj values as the smallest number satisfying:
- θj≡ ci (mod 8m+1)
- θj ≡ 0 (mod The product of each (pi)n+1, except for j.)
- θj is NOT ≡ 0 (mod pj)
Set H = The sum of all of the θj‘s. Set L=the product of all of the (pi)n+1. We are finally ready to create our Quadric Congruence instance:
b = 2*8m+1*K.
Let d = The inverse of (2*8m+1+K), mod b.
Then a = d*(K*τ2+2*8m+1 * H2)
c = H.
From here, it’s a bunch of algebra to show that an x exists if and only if the original formula was satisfiable.
Difficulty: 9. Maybe it should be 10. I don’t know enough number theory to be convinced that the θ’s exist, and be computed in polynomial time. The algebra I’m glossing over is pretty complicated as well.