Solution:
It is immediate to verify that functions of the type f(n)=(n−n0)a with n0 an integer and a a positive real number satisfy the hypotheses: if m<n then (m−n0)a<(n−n0)a and f(m)−f(n)=(m−n0)a−(n−n0)a=ma−na=[(m−n+n0)−n0]a=f(k) with k=m−n+n0.
We show that these functions are the only possible ones.
Let f be a function satisfying the given conditions. Setting m=n in the second condition we obtain that there exists an integer n0 such that 0=f(n)−f(n)=f(n0).
Let then n0 be an integer such that f(n0)=0 and set a=f(n0+1); we prove by induction that the real numbers of the form ka with k an integer are values of the function f. If na=f(m) is a value, from f(n0)−f(m)=−na we obtain that −na is also a value; suppose that na is a value: then also −a−na=−(n+1)a and na−(−a)=(n+1)a are values. Hence f must take as values all integer multiples of a.
We now prove that only numbers of this form are values of f. Let b be a real number such that b/a is not an integer (note that a>f(n0)=0 by the first property, so we can always divide by a), and suppose for contradiction that b is a value of f. If b>0, consider the largest natural number k such that ka is less than b; since we have already seen that ka is attained as a value by f, this must also happen for b−ka. But by our choice of k we have ka<b<(k+1)a, hence 0<b−ka<a, and this is a contradiction: the function is strictly increasing, hence does not take values between f(n0)=0 and f(n0+1)=a. The same reasoning holds for b<0: letting k be the smallest natural number such that −ka<b, the number b−(−ka), lying between 0 and a, should belong to the image. Again this is a contradiction.
We have thus shown that the possible functions are all and only the increasing ones whose image consists of the integer multiples of a positive real number a, that is, those of the form: f(n0)=0 for some integer n0; f(n0+k)=ka for every integer k, for some positive real a.