Determine all functions $f(x)$ such that $f(f(x+y))=f(x)+f(y)$ The question is from here:

Find all continuous functions $f:\mathbb R\to \mathbb R$ such that for any real $x$ and $y$,
  $$f(f(x+y))=f(x)+f(y).$$

I'm totally new to functional equations so please correct me if I make a mistake. 
I try plugging in simple functions and I find that $f(x)=0$ and $f(x)=x+c$ for some $c \in \mathbb R$ works.
Then I believe the next step is to derive $f(x)=x+c$ as a solution.
Let $y=0$. Then we have
\begin{align}
f(f(x))=f(x)+f(0)
\end{align}
Then we can make the substitution $u=f(x)$, which produces
$$f(u)=u+c$$
since $f(0)$ is just a constant. 
Hence the solutions are $f(x)=0$ and $f(x)=x+c$ for some $c \in \mathbb R$. $\Box$

Is this a valid answer? As some of you may know the AMO is happening in a few days and I would appreciate any help in improving the quality of my answers. 
 A: This is not correct. You can not let $u=f(x)$ since you haven't prove that $f(x)$ is surjective.
Here is a hint: use $f(f(x))=f(x)+f(0)$ to change the LHS or the original functional equation so you have $f(x+y)+f(0)=f(x)+f(y)$. This really looks like Cauchy's functional equation. Can you keep going?
A: All such functions are of the form $$f(x) = \lambda x + c ,\ x\in \Bbb R$$ where $c = f(0), \lambda = f(1)-f(0)$ and where either $\lambda = c = 0$ or $\lambda = 1$. So either $$f(x) = 0,\ \text {for all}\ x \in \Bbb R$$ or $$f(x) = x + c,\ \text {for all}\ x \in \Bbb R.$$
EDIT $:$ 
First observe that $$f(x+y) + f(0) = f(x) + f(y), \text {for all}\ x,y \in \Bbb R .$$ Now observe that for any $n \in \Bbb N$ $$f(n) = \lambda + f(n-1).$$ By recurrence it is not hard to see that for all $n \in \Bbb N,$ $f(n) = \lambda n + c,$ where $c = f(0)$ and $\lambda = f(1) - f(0).$ Now extend $f$ over $\Bbb Z$ by using the fact that $f(x) + f(-x) = 2c$ for all $x \in \Bbb R$. Extending $f$ over rationals and irrationals is also not very tough. Extending over irrationals from rationals follows from two facts. One is density of rationals and the other is sequential criterion for continuous functions. So we have proved that $$f(x) = \lambda x + c,\ \text {for all}\ x \in \Bbb R.$$  Now again using the given functional equation and putting the values of $f(x)$ there we get
$$(\lambda - 1) (\lambda(x+y) + c) = 0, \text {for all}\ x,y \in \Bbb R.$$ So either $\lambda = 1$ or $\lambda (x + y) + c = 0,$ for all $x,y \in \Bbb R$. For the later case if $\lambda \neq 0$ then it yields a contradiction because otherwise we have for all $x,y \in \Bbb R,$ $x+y = -\frac {c} {\lambda},$ which is obviously false. Hence for the later case we should have $\lambda = 0$. But that implies $c=0$. So either $\lambda = c =0$ or $\lambda = 1$. 
This completes the proof.
Is it ok now @abc...?
