Find all functions $f:\mathbb{N}^+\to\mathbb{N}^+$ such that $f\big(f(n)\big)+f(n)=2n$ for every $n\in\mathbb{N}^+$. 
Find all functions $f:\mathbb{N}^+\to\mathbb{N}^+$ such that $$f\big(f(n)\big)+f(n)=2n$$ for every $n\in\mathbb{N}^+$.

I think the answer is $f(n)=n$,We prove this by induction. (at last step I can't induction it）

It is true for  $n=1$ because
Let $f(1)=x\ge 1,$and let $n=1$,we have
$$f(x)+x=2\Longrightarrow x=1$$

(2) Suppose it is true for
$f(n)=n(n\le k)$,
then for $n=k+1$,let $f(n+1)=y$,so we have
$$f(y)+y=2(k+1)\Longrightarrow f(y)=2(k+1)-y$$
it is easy to have $k+1\le y\le 2k+1$,and
$$f(f(y))+f(y)=2y\Longrightarrow f(2k+2-y)=2y-f(y)=3y-2(k+1)$$
since $2k+2-y\in [1,k+1]$,then I can't it ,can you help? Thanks
(if $2k+2-y\in [1,k]$,I have done it! bacuase $f(2k+2-y)=2k+2-y$,so $y=k+1$)

Note that $f(f(n)) = 2n-f(n) \ge 1$ so we have $1 \le f(n) \le 2n-1$.
Hence we must have $f(1) = 1$.
It is straightforward to check that $f$ is injective.
Suppose $f(k) = k $ for $k=1,...,n$. Note that we must have $f(n+1) \ge n+1$ since $f$
is injective. Similarly, we must have $f(f(n+1)) \ge n+1$, and since
$f(f(n+1))+f(n+1) = 2(n+1)$, we must have $f(n+1) = n+1$.
