Claim: Solutions are f ( x ) = 0 f(x)=0 f ( x ) = 0 f ( x ) = x + c f(x)=x+c f ( x ) = x + c c ∈ R c\in\mathbb{R} c ∈ R 
Proof: Let y = 0 y=0 y = 0 
f ( f ( x ) ) = f ( x ) + f ( 0 )     \begin{aligned}
    f(f(x)) = f(x) + f(0)
    \end{aligned} f ( f ( x )) = f ( x ) + f ( 0 )  Replacing x x x x + y x+y x + y 
f ( f ( x + y ) ) = f ( x + y ) + f ( 0 ) f ( x ) + f ( y ) = f ( x + y ) + f ( 0 ) f ( x + y ) = f ( x ) + f ( y ) − f ( 0 )     \begin{aligned}
    f(f(x+y)) &= f(x+y) + f(0)\\
    f(x) + f(y) &= f(x+y) + f(0)\\
    f(x+y) &= f(x) + f(y) - f(0)
    \end{aligned} f ( f ( x + y )) f ( x ) + f ( y ) f ( x + y )  = f ( x + y ) + f ( 0 ) = f ( x + y ) + f ( 0 ) = f ( x ) + f ( y ) − f ( 0 )  Therefore f ( x + y ) f(x+y) f ( x + y ) f ( x ) + f ( y ) f(x)+f(y) f ( x ) + f ( y ) This should remind you of Cauchy's Functional Equation . 
Let g ( x ) = f ( x ) − f ( 0 ) g(x) = f(x) - f(0) g ( x ) = f ( x ) − f ( 0 ) 
g ( x + y ) = f ( x + y ) − f ( 0 ) = f ( x ) + f ( y ) − f ( 0 ) − f ( 0 ) = [ f ( x ) − f ( 0 ) ] + [ f ( y ) − f ( 0 ) ] = g ( x ) + g ( y )     \begin{aligned}
    g(x+y) &= f(x+y) - f(0)\\
    &= f(x) + f(y) - f(0) - f(0)\\
    &= [f(x)-f(0)] + [f(y)-f(0)]\\
    &= g(x) + g(y)
    \end{aligned} g ( x + y )  = f ( x + y ) − f ( 0 ) = f ( x ) + f ( y ) − f ( 0 ) − f ( 0 ) = [ f ( x ) − f ( 0 )] + [ f ( y ) − f ( 0 )] = g ( x ) + g ( y )  Since f f f g g g g ( x + y ) = g ( x ) + g ( y ) g(x+y)=g(x)+g(y) g ( x + y ) = g ( x ) + g ( y ) g ( x ) = k x g(x) = kx g ( x ) = k x k ∈ R k\in\mathbb{R} k ∈ R 
Proof for g(x)=kx 
Claim: If g ( x + y ) = g ( x ) + g ( y ) g(x+y)=g(x)+g(y) g ( x + y ) = g ( x ) + g ( y ) g ( x ) = k x g(x)=kx g ( x ) = k x g : R → R g:\mathbb{R}\rightarrow\mathbb{R} g : R → R x , y , k ∈ R x,y,k\in\mathbb{R} x , y , k ∈ R 
Proof: Let y = 0 y=0 y = 0 
g ( x ) = g ( x ) + g ( 0 ) g ( 0 ) = 0     \begin{aligned}
    g(x) &= g(x) + g(0)\\
    g(0) &= 0
    \end{aligned} g ( x ) g ( 0 )  = g ( x ) + g ( 0 ) = 0  Let y = x y=x y = x 
g ( x + x ) = g ( x ) + g ( x ) g ( 2 x ) = 2 g ( x )     \begin{aligned}
    g(x+x) &= g(x) + g(x)\\
    g(2x) &= 2g(x)\\
    \end{aligned} g ( x + x ) g ( 2 x )  = g ( x ) + g ( x ) = 2 g ( x )  By letting y = x , 2 x , 3 x , . . . y=x,2x,3x,... y = x , 2 x , 3 x , ... g ( k x ) = k g ( x ) g(kx)=kg(x) g ( k x ) = k g ( x ) k k k 
Expanding this idea to negative integers, let y = − x y=-x y = − x 
g ( x − x ) = g ( x ) + g ( − x ) g ( 0 ) = g ( x ) + g ( − x ) 0 = g ( x ) + g ( − x ) g ( − x ) = − g ( x )     \begin{aligned}
    g(x-x) &= g(x) + g(-x)\\
    g(0) &= g(x) + g(-x)\\
    0 &= g(x) + g(-x)\\
    g(-x) &= -g(x)\\
    \end{aligned} g ( x − x ) g ( 0 ) 0 g ( − x )  = g ( x ) + g ( − x ) = g ( x ) + g ( − x ) = g ( x ) + g ( − x ) = − g ( x )  Expanding this idea to rational numbers, let x = m n x=\frac{m}{n} x = n m  
g ( m n ) = m g ( 1 n ) g ( 1 n ) = 1 n g ( 1 )     \begin{aligned}
    g(\frac{m}{n}) &= mg(\frac{1}{n})\\
    g(\frac{1}{n}) &= \frac{1}{n} g(1)\\
    \end{aligned} g ( n m  ) g ( n 1  )  = m g ( n 1  ) = n 1  g ( 1 )  Let u = 1 n u=\frac{1}{n} u = n 1  g ( u ) = u g ( 1 ) g(u)=ug(1) g ( u ) = ug ( 1 ) g ( x ) g(x) g ( x ) k x kx k x 
Since f f f x n x_n x n  lim  n → ∞ x n = x \lim_{n \to \infty}x_n=x lim n → ∞  x n  = x x x x 
lim  n → ∞ [ g ( x n ) = x n g ( 1 ) ] g ( x ) = x g ( 1 ) □     \begin{aligned}
    \lim_{n \to \infty}[g(x_n) &= x_n g(1)]\\
    g(x) &= x g(1) \qquad \Box\\
    \end{aligned} n → ∞ lim  [ g ( x n  ) g ( x )  = x n  g ( 1 )] = xg ( 1 ) □  Since g ( x ) = k x g(x)=kx g ( x ) = k x g ( x ) = f ( x ) − f ( 0 ) g(x)=f(x)-f(0) g ( x ) = f ( x ) − f ( 0 ) f ( x ) = k x + f ( 0 ) f(x)=kx+f(0) f ( x ) = k x + f ( 0 ) 
Since f ( 0 ) f(0) f ( 0 ) f ( 0 ) = c f(0)=c f ( 0 ) = c f ( x ) = k x + c f(x)=kx+c f ( x ) = k x + c 
f ( f ( x + y ) ) = f ( k ( x + y ) + c ) = k ( k ( x + y ) + c ) + c = k 2 ( x + y ) + c k + c (LHS)     \begin{aligned}
    \tag{LHS}
    f(f(x+y)) &= f(k(x+y)+c) \\
    &= k(k(x+y)+c)+c\\
    &= k^2(x+y)+ck+c
    \end{aligned} f ( f ( x + y ))  = f ( k ( x + y ) + c ) = k ( k ( x + y ) + c ) + c = k 2 ( x + y ) + c k + c  ( LHS ) f ( x ) + f ( y ) = k x + c + k y + c = k ( x + y ) + 2 c (RHS)     \begin{aligned}
    \tag{RHS}
    f(x) + f(y) &= kx+c+ky+c \\
    &= k(x+y)+2c
    \end{aligned} f ( x ) + f ( y )  = k x + c + k y + c = k ( x + y ) + 2 c  ( RHS ) By equating terms, we get the equations k 2 = k k^2=k k 2 = k 2 c = c k + c 2c=ck+c 2 c = c k + c k 2 = k k^2=k k 2 = k k k k 0 0 0 1 1 1 
Assume k = 0 k=0 k = 0 f ( x ) = c f(x)=c f ( x ) = c 
f ( f ( x + y ) ) = f ( c ) = c (LHS)     \begin{aligned}
    \tag{LHS}
    f(f(x+y)) = f(c) = c
    \end{aligned} f ( f ( x + y )) = f ( c ) = c  ( LHS ) f ( x ) + f ( y ) = c + c = 2 c (RHS)     \begin{aligned}
    \tag{RHS}
    f(x) + f(y) &= c+c = 2c
    \end{aligned} f ( x ) + f ( y )  = c + c = 2 c  ( RHS ) Equating the two, we find that c = 2 c c=2c c = 2 c c = 0 c=0 c = 0 k = 0 k=0 k = 0 c = 0 c=0 c = 0 f ( x ) = 0 f(x)=0 f ( x ) = 0 
Assume k = 1 k=1 k = 1 f ( x ) = x + c f(x)=x+c f ( x ) = x + c 
f ( f ( x + y ) ) = f ( x + y + c ) = x + y + 2 c (LHS)     \begin{aligned}
    \tag{LHS}
    f(f(x+y)) = f(x+y+c) = x+y+2c
    \end{aligned} f ( f ( x + y )) = f ( x + y + c ) = x + y + 2 c  ( LHS ) f ( x ) + f ( y ) = x + c + y + c = x + y + 2 c (RHS)     \begin{aligned}
    \tag{RHS}
    f(x) + f(y) &= x+c+y+c = x+y+2c
    \end{aligned} f ( x ) + f ( y )  = x + c + y + c = x + y + 2 c  ( RHS ) Since the right and left hand side are equal, we have shown that f ( x ) = x + c f(x)=x+c f ( x ) = x + c □ \Box □