Firstly, we prove that f is injective. Let two natural numbers a,b such that a+1≤b and f(a)=f(b). By the given condition, we have
f(a)[f(f(a))]2≤a3+a2<a3+2a2+a=(a+1)3−(a+1)2.
Since a,b∈Z+ and a+1≤b, we have
(a+1)3−(a+1)2≤b3−b2≤f(b)[f(f(b))]2.
Thus f(a)[f(f(a))]2<f(b)[f(f(b))]2, a contradiction. This implies f is injective.
In given condition, let n=1, we have
0≤f(1)[f(f(1))]2≤2.
Since f:Z+⟶Z+, we have two cases
- f(1)=1.
- f(1)=2 and f(2)=1.
We shall prove that if {f(1),…,f(k)}={1,…,k} then either f(k+1)=k+1 or f(k+1)=k+2,f(k+2)=k+2. Indeed,
Since f is injective, we have f(k+1)≥k+1. If f(k+1)=k+1, we have
{f(1),…,f(k+1)}={1,…,k+1}.
Otherwise, if f(k+1)≥k+2, we have [f(f(k+1))]2≥(k+1)2. In given condition, let n=k+1, we have
(k+1)3+(k+1)2≥f(k+1)[f(f(k+1))]2≥(k+2)(k+1)2.
Since (k+1)3+(k+1)2=(k+2)(k+1)2, we deduce that f(k+1)=k+2 and f(k+2)=k+1. Thus {f(1),…,f(k+2)}={1,…,k+2}.
Now we can check both cases satisfy the conditions
(k+2)3−(k+2)2≤f(k+2)f(f(k+2))2≤(k+2)3+(k+2)2⇔(k+2)2(k+1)≤(k+1)(k+2)2≤(k+2)2(k+3).
Therefore, the solutions of this problem are the functions have following properties
- There are some disjoint pairs (k,k+1) with f(k)=k+1 and f(k+1)=f(k).
- For other positive integer a, then f(a)=a.