Verify Wolstenholme's theorem
Haskell, 73 71 bytes
Due to the recursion, this implementation is very slow. Unfortunately my definition of the binomial coefficient has the same length as import Math.Combinatorics.Exact.Binomial.
n#k|k&lt;1||k&gt;=n=1|1&gt;0=(n-1)#(k-1)+(n-1)#k --binomial coefficient
f a b p=div((a*p)#(b*p)-a#b)p^3       --given formula

An interesting oddity is that Haskell 98 did allow for arithmetic patterns which would have shortened the same code to 64 bytes:
g a b p=div((a*p)#(b*p)-a#b)p^3
n+1#k|k&lt;1||k&gt;n=1|1&gt;0=n#(k-1)+n#k