Let a function $f(z)$ defined for all $z\in\mathbb{C}$ (without any further restrictions) satisfy the equation: $$ f(f(z))=f(z-c)+c, $$ where $c\ne0$ is a constant. It can be easily demonstrated that the only analytic function satisfying the equation is $f(z)=z$ and I have strong (but possibly wrong) impression that it is in fact the only possible solution of the equation. Can it be proved or disproved? In the latter case what is the general form of solution?
I never dealt with functional equations, so any hint is appreciated.
For a simple counterexample, consider $f(z)=\operatorname{Re}(z)$, which works for any $c\in\mathbb{R}$. More generally, given any decomposition $\mathbb{C}=A\oplus B$ of $\mathbb{C}$ as a group under addition with $c\in A$, you could take $f$ to be the projection onto $A$. I suspect there are other solutions besides these as well, and there is probably no nice way to describe all the solutions.