Solution:
By plugging m=n=0 into (b) we easily get f(0)=0. For any u∈Z, we have
f(u+1)2−f(u−1)2f(u+1)2−f(u)2f(u)2−f(u−1)2=f(2u)f(2)=f(2u+1)f(1)=f(2u+1)=f(2u−1)f(1)=f(2u−1)
whence
f(2u)f(2)=f(2u+1)+f(2u−1).
We would like to conclude that
f(n+1)+f(n−1)=f(2)f(n)
for all n∈Z. This is indubitable if n is even; otherwise we may use (c) and the fact that n+2013 is even.
For any given value of t=f(2), there is a unique function f satisfying the recursive definition
f(1)=1,f(2)=t,f(n+1)+f(n−1)=tf(n).
If t=±2, this solution is given by
f(n)=λ1−λ2λ1n−λ2n where λ1,2∈C are the roots of λ2−tλ+1=0
Those familiar with the theory of linear recurrences will know a heuristic derivation of this formula. For our purposes it suffices to note that this function f does indeed satisfy definition (3) and in fact the condition (b) as well; thus the problem is to find out how many values of t cause condition (c) to hold.
If t=±2, the solution (4) is invalid due to the fact that λ1=λ2. In these cases the corresponding functions f satisfying (3) are f(n)=n and f(n)=(−1)n+1n, both of which fail condition (c) and hence can be discarded.
From the condition f(2013)=f(0)=0, we derive that λ12013=λ22013=λ1−2013, so λ14026=1. We must have λ2013=1 or λ2013=−1. If the latter holds, then from f(2014)=f(1) we get
λ12014−λ22014λ1⋅λ12013−λ2⋅λ22013−λ1+λ2λ1=λ1−λ2=λ1−λ2=λ1−λ2=λ2,
a contradiction. So λ1, and hence its reciprocal λ2, are 2013th roots of unity, a condition that is clearly sufficient to imply (c).
The trivial root λ1=λ2=1 must be discarded. The remaining roots come in 1006 conjugate pairs yielding 1006 distinct real values of t. We conclude that there are 1006 such functions f.