We prove a stronger statement, generalizing the desired condition "0∈/S+S−S" to "0∈/a1S+a2S+⋯+akS", for fixed integers a1,…,ak with nonzero sum a1+⋯+ak. (In the original problem we have (a1,…,ak)=(1,1,−1) (so k=3).
Fix a positive integer N (we will specify further later), and take a large prime p≡1(modN) (we don't need Dirichlet—there are infinitely many by a cyclotomic polynomial argument, along the lines of using x2+1 for N=4).
Again, we will specify the size of p later. Now let α be an Nth root of unity modulo p (i.e. α=g(p−1)/N for a primitive root g, so α has order N). Then the key is the following lemma:
Lemma. If the sumset a1S+a2S+⋯+akS contains 0(modp) for arbitrarily large primes p≡1(modN), then there exist indices i1,i2,…,ik between 0 and N−1 such that the polynomial f(x)=a1xi1+⋯+akxik is divisible by the Nth cyclotomic polynomial ΦN(x) (over Q, and thus Z).
(We will use the irreducibility of ΦN, but we only need special cases such as N prime, where the proof is easy.)
Proof. The idea is to “transfer” from Nth roots of unity modulo p to “actual” Nth roots of unity. First, the sumset’s containing 0 is equivalent to the existence of 0≤i1,i2,…,ik≤N−1 (since αN≡1(modp)) such that f(α)≡0(modp).
We present two (similar) ways to do this. One is to use the Mobius-inversion-type definition of cyclotomic polynomials to show that in Fp, the roots of the polynomial ΦN(x) are precisely the residues of order N; in particular, p divides ΦN(α). Now by Bezout's identity, there exist integer polynomials A(x),B(x) and a nonzero integer C such that Cgcd(ΦN(x),f(x))=A(x)f(x)+B(x)ΦN(x), where the gcd (over Q) is, without loss of generality, monic. Assume for the sake of contradiction that gcd(ΦN(x),f(x)) is constant, so, without loss of generality, identically 1. Then plugging in α, we get p divides C for arbitrarily large primes p≡1(modN), which is absurd. Thus f(x) and ΦN(x) share a complex root, and by the irreducibility of ΦN(x), f(x) is divisible by ΦN(x). (∗)
Alternatively, by counting roots, it is easy to show that in Fp, we have the polynomial identity xN−1≡(x−α)…(x−αN). If z is a primitive Nth root of unity, then in C, we have xN−1=(x−z)…(x−zN), so the symmetric sums of z,…,zN are congruent modulo p to those of α,…,αN. It follows by the theorem of symmetric sums that the product of f(α) over all valid indices 0≤i1,…,ik≤N−1 (each choice determines some f) is an integer congruent modulo p to the (integer) product of f(z) over all valid indices 0≤i1,…,ik≤N−1. Thus arbitrarily large primes p divide the integer ∏[0,N−1]kf(z), which must therefore be 0. Thus there exists a choice of indices such that f(z) is identically 0, and thus the minimal polynomial ΦN(x) (again, we use irreducibility as in (∗)) of z divides f(x). □
With the lemma in hand, the rest is easy. Choose N=q any prime. Then ΦN(x)=Φq(x)=(xq−1)/(x−1) divides f(x)=a1xi1+⋯+akxik, a k-term polynomial that is either identically zero or otherwise a nonzero polynomial of degree at most N−1=q−1. However, if f is not identically zero, and q>k, then since (xq−1)/(x−1)=xq−1+⋯+1 has degree q−1 (which is at least the degree of f), the coefficients of f must all be equal. Yet i1,…,ik cannot cover all of 0,1,…,q−1, so one of the coefficients of f must be 0, and therefore all must be 0.
It follows that f is identically zero, so f(1)=a1+⋯+ak=0, contradiction.