Solving functional equation $2f(x) = f(2x)$

$f(x)$ is a $\mathbb{R} \rightarrow \mathbb{R}$ differentiable function satisfying the following equation: $$2f(x) = f(2x).$$ Can it be proved that $f(x) = kx$ for some $k$?

Note that if $f(x)$ is in $\mathcal{C}^1$, it can be proved in the following way: $$g(x) := \bigg\{ \begin{array}{ll} f(x)/x & x \in \mathbb{R}\backslash\{0\} \\ \lim_{x\rightarrow0}f(x)/x = f'(0) &x=0 \end{array} \bigg.$$ is a continuous function in $\mathbb{R}$, satisfying $$g(\ln x) = g(\ln x^2) \text{ for } x\in(0,+\infty).$$ Therefore, $\forall x \in(0,+\infty)$ $$g(\ln x) = g(\ln x^{1/2}) = \lim_{n\rightarrow\infty}g(\ln x^{1/2^n}) = g(0),$$ which means $g(x)$ is a constant and $f(x) = kx$.

• Why not by substitution? – mattecapu Sep 30 '15 at 6:32

Yes, and your proof already works: you only use the continuity of $g$ at 0, which holds by the definition of $g$, without needing to assume $f \in \mathcal C^1$.
• In fact it is sufficient to assume $f$ is differentiable at $0$. (If $f$ is not differentiable at $0$ there are other solutions such as $x\cos(2\pi\lg x)$.) – Mario Carneiro Sep 30 '15 at 5:50