When $f(x+1)-f(x)=f'(x)$, what are the solutions for $f(x)$? The question is:

When $f(x+1)-f(x)=f'(x)$, what are the solutions for $f(x)$?

The most obvious solution is a linear function of the form $f(x)=ax+b$. Is this the only solution?
Edit
I should add that $f:\mathbb R\to\mathbb R$ to the question.
 A: This is an example of a delay differential equation, and it has a very large number of solutions.  I will begin by discussing solutions $f\colon[0,\infty)\to\mathbb{R}$, and then extend to solutions on the real line.
Suppose first that we have defined $f$ on the interval $[0,1]$, say $f(x) = f_0(x)$ for some differentiable function $f_0\colon[0,1]\to\mathbb{R}$.  For extending solutions forwards, the best way to write the equation is
$$
f(x+1) \;=\; f(x) + f'(x).
$$
Using this equation, it is not hard to define $f$ on the interval $[1,2]$. Specifically, if $x\in[1,2]$, then
$$
f(x) \;=\; f_0(x-1) + f_0'(x-1).
$$
Note that this function will only be differentiable if $f_0$ was twice differentiable on $[0,1]$.  Moreover, the derivatives at $1$ will only match up if $f_0'(1) = f_0'(0) + f_0''(0)$.  Assuming this is the case, it is easy to extend again to $[2,3]$.  Specifically, if $x\in[2,3]$, then
$$
f(x) \;=\; f(x-1) + f'(x-1) \;=\; f_0(x-2) + 2 f_0'(x-2) + f_0''(x-2).
$$
In general, assuming that:


*

*The function $f_0$ is $C^\infty$ on $[0,1]$ and,

*$f_0^{(k)}(1) = f_0^{(k)}(0) + f_0^{(k+1)}(0)$ for all $k\geq 0$,


we can extend $f$ to all of $[0,\infty)$ by the formula
$$
f(x) \;=\; \sum_{k=0}^{\lfloor x\rfloor} \,\binom{\lfloor x\rfloor}{k}f_0^{(k)}(x-\lfloor x\rfloor)
$$
Now let's discuss how to extend backwards.  Assuming we have defined $f$ on $[0,\infty)$, the formula for $f$ on $[-1,0]$ is determined by the initial-value problem
$$
f'(x) + f(x) \;=\; f_0(x+1),\qquad f(0) = f_0(0).
$$
This is a first-order differential equation, so it must have a solution.  Moreover, assuming $f_0$ is $C^\infty$ on $[0,1]$, it follows from the Picard-Lindelöf Theorem that there is a unique $C^\infty$ solution for $f$ on $[-1,0]$.  Note that the derivatives at $0$ will automatically match, since $f_0(1) - f(0) = f_0'(0)$.  Continuing in this fashion, we can extend any solution backwards all the way to $-\infty$.
We conclude that any function $f_0\colon[0,1]\to\mathbb{R}$ satisfying the two conditions listed above extends to a solution on the entire real line.
Edit: Incidentally, there is a simple integral formula for $f$ on $(-\infty,0]$, which can be used to compute values for $f$ on a computer:
$$
f(x) \;=\; f(0) + e^{-x-1}\int_{x+1}^1 e^{t}\,f(t)\,dt
$$
This can also be used to provide an alternative proof that the function extends backwards, without appealing to existence and uniqueness of ODE's.  I found this formula by solving the initial value problem $f(x) + f'(x) = f(x+1)$ using integrating factors.
A: Partial answer. If $f(x)$ is the a polinomial function say $f(x)=\sum_{k=0}^na_kx^k$ then
$$
\sum_{k=0}^na_k(x+1)^k-\sum_{k=0}^na_kx^k=\sum_{k=0}^nka_kx^{k-1}
$$ 
 For $x=1$ we have
$$
\sum_{k=0}^na_k2^k-\sum_{k=0}^na_k=\sum_{k=0}^nka_k
$$
If $n=2$  then
$
a_0+2a_1+4a_2-a_0-a_1+a_2=a_1+2a_2\implies a_2=0.
$
In general case for all $n>1$ we have for any no root $x_0$ of $f(x)$ or $p(x)= (x+1)^n-x^n$ that 
$$
\sum_{k=0}^na_k(x_0+1)^k-\sum_{k=0}^na_kx_0^k-\sum_{k=0}^nka_kx^{k-1}=0 \implies [(x_0+1)^n-x_0^n]a_n=0\implies a_n=0
$$
Soon the solution can not be a polynomial of degree greater than 1.
A: Let $\lambda = \alpha + \beta i \in \mathbb{C}$ be any root of the equation $\lambda = e^{\lambda} - 1$ subject to $\beta \ge 0$ and $\delta$ any real number, then 
$$f(x) = \Re( e^{\lambda x + i\delta} ) = e^{\alpha x} \cos(\beta x + \delta)\tag{*}$$
will be a $C^{\infty}$ solution for the functional equation $f'(x) = f(x+1) - f(x)$.
For example, $\lambda = e^{\lambda} -1 $ has a root at $\sim 2.088843015613044 + 7.461489285654254 i$.
This gives us following $C^{\infty}$ solution:
$$f(x) \sim e^{ 2.088843015613044\,x}\,\cos(7.461489285654254\,x)$$

Other solutions can be constructed by forming linear combination of solutions of the form in $(*)$. Please note that $\lambda = e^{\lambda} - 1$ has a double root at $\lambda = 0$,
there are two solutions at $\lambda = 0$ which one can use:
$$ \Re( e^{\lambda x} )\Big|_{\lambda = 0} = 1
\quad\quad\text{ and }\quad\quad
\frac{\partial}{\partial \lambda} \Re( e^{\lambda x} )\Big|_{\lambda = 0} = x
$$
A: Commenting to achille hui's answer, the idea of choosing $\lambda$ comes from the observation that the translation operator $\tau_{h} f (x) = f(x+h)$ corresponds to the exponential of the differential operator
$$\tau_{h}f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(x)}{n!}h^{n} = e^{h d/dx} f(x).$$
on the space of analytic functions. So writing $D = d/dx$, the given equation can be transformed into
$$ e^{D}f(x) - f(x) = Df(x) \quad \Longleftrightarrow \quad (e^{D} - 1 - D)f(x) = 0.$$
By making an ansatz that a solution $f(x)$ has the form $f(x) = e^{\lambda x}$, it is easy to see that the equation above is equivalent to $e^{\lambda} - 1 - \lambda = 0$, the very starting point of the achille hui's answer.
A: An exponential function $a^x$ with base $a$ satisfying the equation
$$a^a-ea=0$$
is the solution.
The equation has two roots:
$${\large a}_1=0.2592463566483049762658328267922644867392517823397669639360784269929\ldots$$
$${\large a}_2=2.2399778876565500700638977660928972654111884831688969821454636850130\ldots$$
See this question for more details:
Closed form solution to $\frac{1}{a-1}= \log a$
