<s>[INST] Can we obtain $f(y+x)=y+f(x)$ from $f(x^2+f(x)^2+x)=f(x)^2+x^2+f(x)$? 
$\mathbb Z^+$ is the set of positive integers. Find all functions $f:\mathbb{Z}^+\rightarrow \mathbb{Z}^+$ such that
  $$f(m^2+f(n))=f(m)^2+n\quad(\clubsuit)$$

Let $P(x,y)$ be the assertion: $f(x^2+f(y))=f(x)^2+y \; \forall x,y \in \mathbb{Z}^+.$
$P(x,x)$ gives us $f(x^2+f(x))=f(x)^2+x$.
$P(x,x^2+f(x))$ gives us $f(x^2+f(x)^2+x)=f(x)^2+x^2+f(x)$. 
Can we obtain $f(y+x)=y+f(x)$ from $f(x^2+f(x)^2+x)=f(x)^2+x^2+f(x)$ ?
 [/INST] Here is an incomplete idea to actually solve the quoted problem (as opposed to your specific question about $f(x+y)=y+f(x)$). This idea might go nowhere. Define $a$ to be $f(1)$. It's easy to show using induction that if $a=1$, then $f$ is the identity function.
If $a=2$, we can arrive at a contradiction:
$$
\begin{align}
f(1^2+f(1))&=f(1)^2+1\\
f(1+2)&=4+1\\
f(3)&=5\\
\implies f(1^2+f(3))&=f(1)^2+3\\
f(1+5)&=4+3\\
f(6)&=7\\
\implies f(1^2+f(6))&=f(1)^2+6\\
f(1+7)&=4+6\\
f(8)&=10\\
\implies f(1^2+f(8))&=f(1)^2+8\\
f(1+10)&=4+8\\
f(11)&=12
\end{align}
$$
But 
$$
\begin{align}
f(3^2+f(1))&=f(3)^2+1\\
f(9+2)&=25+1\\
f(11)&=26
\end{align}
$$
This contradiction rules out $f(1)$ being $2$. Perhaps you can find a pattern to generalize and show that $f(1)$ must be $1$, which would prove that $f$ must be the identity. (I had no luck finding such a pattern though.)
</s>