We have f(1997)=1997.
Label the equation as follows.
f(f(m)+f(n))=m+n(1)
If f(a)=f(b) for some a,b∈Z+, then by putting m=a and m=b in (1), we obtain
a+n=f(f(a)+f(n))=f(f(b)+f(n))=b+n.
This implies a=b. So f is injective. Now, using (1), we have
f(f(m+1)+f(1))=(m+1)+1=m+2=f(f(m)+f(2)).
Using the injectivity, this becomes
f(m+1)+f(1)=f(m)+f(2).
Let d=f(2)−f(1). By induction, we can easily prove that
f(m)=f(1)+(m−1)d
for any m∈Z+. In other words, f(m)=am+b for some integers a,b. Now, we have
f(f(m)+f(n))=a(am+b+an+b)+b=a2m+a2n+(2ab+b).
This is equal to m+n for any m,n∈Z+ if and only if a2=1 and 2ab+b=0. Clearly, the only solution with a≥0 is (a,b)=(1,0). This means f(m)=m for any m∈Z+. In particular, we have f(1997)=1997.