If the function $f$ satisfies the equation $f(xf(y)+x)=xy+f(x)$, find $f$

Take first $x=u\not =0$. As we have $f(uf(y)+u)=uy+f(u)$, we immediately see that $f$ is surjective. Let $v$ such that $f(v)=0$. We have:

$$f(xf(v)+x)=xv+f(x)=f(x)$$ hence $xv=0$ for all $x$, and $v=0$. We have thus $f(0)=0$.

There exists $v\in \mathbb{R}$ such that $f(v)=-1$. We have:

$$f(xf(v)+x)=f(-x+x)=f(0)=0=xv+f(x)$$ Now we have $f(x)=-vx$ for all $x$, and it is easy to see that we have $v=\pm 1$, and we are done.