Follow on from previous question: Functional Equation $f\big(f(x)^2+f(y)\big)=xf(x)+y$ - a little tricky
Surjective because $f[f(0)^2+f(y)] = y$ for any $y$. In particular, there is an $x_0$ such that $f(x_0)=0$, and using $x=x_0$ in the identity gives $f(f(y))=y$, which shows injectivity.