n が 5 以上かつ奇素因数 p を持つときに条件を満たすことを別の方法で示す.
方針の概略 : 2k(k+1)modp が取りうる値の個数が p に対して十分少ないことから,2k(k+1)modn が取りうる値の種類も少ないということを示して,ある n=a,b で重複が生じていなくてはならないということを導く。
まず集合 I(n) を
I(n)={2k(k+1)modn∣k=1,2,…,n−1}
で定める.もし条件を満たさないなら,k ごとに剰余類は異なるから
n#I(n)=nn−1≧54
である(取りうる値の種類は十分多いと考える).一方で,2k(k+1)≡2−1(k+2−1)2−2−3(modp) なので (※)
{2k(k+1)modp∣k=1,2,…,n−1}⊂{2−1x−2−3∣xは0または平方剰余}
だから,左辺の集合の要素数は高々 2p+1個である(実際はちょうど2p+1個でもある).そこで,hを左辺の要素数として
{2k(k+1)modp∣k=1,2,…,n−1}={c1modp,…,chmodp}
であるような c1,…,ch∈Z を取る(i=jならばci≡cj(modp) に注意).このとき
I(n)⊂{(ci+pk)modn∣k=1,2,…,pn,i=1,2,…,h}
であるから,個数を評価して
#I(n)≦pn⋅h⟹n#I(n)≦ph≦2pp+1≦32
を得るが,これは n#I(n)≧54 に反する.よって矛盾であり,この場合は条件を満たす.
したがって,あとは n=3,2k (k=0,1,2,…) が条件を満たさないことを確認すればよい(本解と同様である).
(※)2−1の意味が有理数から剰余体の元に変わっていることに注意(間違ってはいない).2−1≡2p+1(modp) なので,4k(k+1)modp=(2k+1)2−1modp を (2p+1)3 倍した式と読み替えてもよい.その場合は,x−1 (x は平方剰余) の集合の各要素を (2p+1)3 倍した剰余が,2k(k+1)modp が取りうる値の集合になる.