Clearly if f(n)=n−1 for n>1, the desired identity will be satisfied. In fact one can easily check that the value of f(2) is also irrelevant, so any f such that f(n)=n−1 for all n>2 will work. We show that these are the only such functions.
Plug in a=b=c to obtain fa3−a(a3)=a for all a. Using this twice, fa9−a(a9)=a. Then, b=c=a4 gives fa9−a4(a9)=a4. Meanwhile b=a3,c=a5 gives fa9−a5(a9)=a5; consequently, we get fa5−a4(a5)=a4.
fbc−b(bc)+fbc−c(bc)=b+c.(19)
Now fix a large number N, and for all divisors d∣N with 1<d<N, define g(d) by g(d)=fN−d(N)−d. We claim that g(bc)=g(b)+g(c) whenever bc is still a proper divisor of N. Proof: put a=N/bc, and write
g(bc)=fabc−bc(abc)−bc=(a+bc−fabc−a(abc))−bc(by (19))=a−fabc−a(abc)=fabc−b(abc)−b+fabc−c(abc)−c=g(b)+g(c).
This holds for any N. In particular, fix any b≥2, and put N=(br(b+1)s)3, where r,s are any relatively prime integers both greater than b+1. Repeatedly using the multiplicative property of g defined above, we get
rg(b)+sg(b+1)=g(br(b+1)s)=0.
The only solution to this with integers g(b),g(b+1) satisfying g(b)≥−b and g(b+1)≥−(b+1) is g(b)=g(b+1)=0. Hence,
fN−b(N)=b,fN−(b+1)(N)=b+1
and comparing gives f(b+1)=b, which is what we set out to prove.