Find $f:R\rightarrow R$ such that $f(f(x)−y) = f(x)+f(f(y)−f(−x))+x$.
The obvious is the substitution $y\rightarrow -x$, which gives us
$$ f(f(x)+x)=f(x)+f(f(-x)-f(-x))+x=f(x)+x+f(0).$$
Why can't we substitue now $u=f(x)+x$ and say that $f(u)=u+c$?
I'm sorry if this is stupid, I'm just beginning to learn.
If $f(x)+x$ is surjective (onto) then you can say that $f(u)=u+c$ but for example if $f(x)=-x$ then $f(x)+x=0$ is not surjective and is of a slightly different form $f(x)=-x+c$. Actually $f(x)=-x$ is the only solution which is proven in @Eugen Covaci's answer.
The $f(x)+x=u$ is surjective means that $u$ can take any value in $\Bbb{R}$ if you can do so then you can pick any value of $x$ that gives the corresponding $u$ and say $f(u)=u+c$