>>741
なるべく初等的に解いてみた

【補題】素数 p に対し、整数 (p-1)!/k (1 ≦ k ≦ p-1) を p で割った余りは k によって互いに異なる。
(補題の証明)
もし k, k' について余りが一致すれば、それらの差は p の倍数になるので、
(p-1)!/k - (p-1)!/k' = px
となる整数 x が存在する。したがって、両辺に kk' をかけると
(k' - k)(p-1)! = pxkk'
となるので k' - k は p で割り切れる。しかし |k' - k| < p であるので k' = k でなければならない。

>>741の証明)
b = ((p-1)!)^2 として、
1/1^2 + 1/2^2 + 1/3^2 + … + 1/(p-1)^2 = a/b ( a は整数)
と表したときに a が p の倍数になることを示せばよい。
なぜなら、 (p-1)! は p の倍数でないので b も p の倍数でなく、
したがって a が p の倍数なら約分しても分子は p の倍数のままである。

さて、 a_k = b/k^2 = ((p-1)!/k)^2 と置くと、 a = Σ[k=1,p-1] a_k である。
すると補題より Σ[k=1,p-1] a_k を p で割った余りは Σ[k=1,p-1] k^2 を p で割った余りに等しい。
p > 3 より Σ[k=1,p-1] k^2 = (p-1)p(2(p-1)+1)/6 は p で割り切れるので、
ゆえに a は p の倍数である。