$\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)$ ?
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.)