Solving the Functional Equation $ f \big( x + y f ( x ) \big) = f ( x ) f ( y ) $

I want to find all functions $ f : \mathbb R \to \mathbb R $ satisfying the functional equation $ f \big( x + y f ( x ) \big) = f ( x ) f ( y ) $, for all real numbers $ x $ and $ y $.

An interesting fact about the functional equation is a symmetry that is not at first sight visible. If one substitutes $ x + z f ( x ) $ for $ x $ in the functional equation, the equation $ f \big( x + z f ( x ) + y f ( x ) f ( z ) \big) = f ( x ) f ( y ) f ( z ) $ follows, which is also the result of substituting $ z + y f ( z ) $ for $ y $ in the original equation.

This is my attempt:

Clearly, for every constant real number $ a $, $ f ( x ) = a x + 1 $ is a solution. The constant zero function is another solution. I conjecture that these are the only solutions.

It's easy to see that $ f \big( x + y f ( x ) \big) = f \big( y + x f ( y ) \big) $ and thus if $ f $ is injective, one must have $ x + y f ( x ) = y + x f ( y ) $, which letting $ y = 1 $ yields $ f ( x ) = \big( f ( 1 ) - 1 \big) x + 1 $.

Letting $ x = y = 0 $ in the functional equation, one gets $ f ( 0 ) = 0 $ or $ f ( 0 ) = 1 $. If $ f ( 0 ) = 0 $ then letting $ y = 0 $ in the functional equation one can find out that $ f $ is the constant zero function. So from now on it's assumed that $ f ( 0 ) = 1 $.

If $ f $ is differentiable, differentiating the functional equation with respect to $ y $, one gets $ f ( x ) f ' \big( x + y f ( x ) \big) = f ( x ) f ' ( y ) $. Letting $ y = 0 $ in the last equation, one gets $ f ( x ) \big( f ' ( x ) - f ' ( 0 ) \big) = 0 $. Now since $ f $ is differentiable at $ 0 $, it is also continuous at $ 0 $ and thus there is a positive real number $ \delta $ such that if $ - \delta < x < \delta $ then $ f ( x ) > 0 $. Hence if $ - \delta < x < \delta $ then $ f ' ( x ) = f ' ( 0 ) $ which shows that on this interval $ f ( x ) = x f ' ( 0 ) + 1 $. For any $ x $ such that $ f ( x ) \ne 0 $, one can substitute $ \frac y { f ( x ) } $ for $ y $ in the functional equation and get $ f ( x + y ) = f ( x ) f \Big( \frac y { f ( x ) } \Big) $. Therefore if $ - \delta | f ( x ) | < y < \delta | f ( x ) | $ then $ f ( x + y ) = f ( x ) + y f ' ( 0 ) $.

I couldn't go further and I also couldn't avoid the differentiability condition.


Here's a different solution. $$ f(x)=\begin{cases} 1\quad\text{if}\quad x\in\mathbb{Q}\\ 0\quad\text{otherwise} \end{cases} $$ I'm quite sure there is a number of variations of this theme.

My suspicion is that without requiring continuity or differentiability, the relation will not be enough to limit the available solutions for $f(x)$ for all $x\in\mathbb{R}$, and that there might thus be an uncountable number of solutions which will be almost nowhere continuous (possibly requiring the axiom of choice to construct).


Here are a few observation on the continuous/differential case. I haven't properly proof read them, so I may have missed something.

Let's first assume that $f(0)=1$, otherwise $f(x)=0$ for all $x$.

Let's take some $x$ with $f(x)\not=0$. Because of the relation $f(x+yf(x))=f(x)f(y)$, if $f(y)$ is continuous at $y=0$, it follows that $f$ is continuous at $f(x)$.

Similarly, if $f(y)$ is differentiable at $y=0$ with $f'(0)=a$, it follows that $f$ is differentiable at $x$. Differentiation of $f(x+yf(x))=f(x)f(y)$ with $y$ at $y=0$ yields $f'(x)=f'(0)=a$. Again, this requires that $f(x)\not=0$.

So, basically, if $f(0)=0$ and $f'(0)=a$, we know that $f'(x)=a$ whenever $f(x)\not=0$, from which follows that $f(x)=ax+1$ in the segment with $ax+1\ge0$.

If $a=0$, this makes $f(x)=1$ for all $x$. For any other $a$, $f(x)=ax+1$ is a possible solution.

A solution already mentioned by others is $f(x)=\max(ax+1,0)$.

A last option, assuming $a\not=0$, is that there is a $b>1$ so that $$ f(x)=\begin{cases} ax+1\quad\text{if}\quad ax+1>0\\ ax+b\quad\text{if}\quad ax+b<0\\ 0\quad\text{otherwise} \end{cases} $$ since $f'(x)=a$ whenever $f(x)\not=0$. However, for any $y$ with $f(y)=0$, we have $f(x+yf(x))=0$ for all $x$. This means $x+yf(x)$ must be bound as $x\rightarrow\infty$ and $-\infty$, which can only happen if $y=-1/a$. So this alternative is ruled out.


Here is another solution that classifies all continuous solution. During the proof we exclude two trivial solutions $f \equiv 0$ and $f \equiv 1$ to avoid unnecessary case-division.

(Disclaimer: I heavily borrowed Tob Ernack's injectivity argument but tried a simpler proof. Although I have an independent proof, it is neither elegant nor shorter.)

Step 1. $Z: = f^{-1}(\{0\})$ is a non-empty closed interval.

$Z$ is obviously a closed set. Next, whenever $f(x) \neq 1$ we have

$$ f\left(\tfrac{x}{1 - f(x)}\right) = f\left(x + \tfrac{x}{1 - f(x)}f(x)\right) = f(x)f\left(\tfrac{x}{1 - f(x)}\right). $$

and hence $\frac{x}{1 - f(x)} \in Z$. Then the assumption $f \not\equiv 1$ shows that $Z \neq \varnothing$. Finally, if $a, b \in Z$, then

$$f(x+af(x)) = f(x)f(a) = 0 \qquad \forall x \in \Bbb{R}$$

and the function $g(x) = x+af(x)$ takes values only in $Z$. Since $g(a) = a$ and $g(b) = b$, it follows from intermediate value theorem that $[a, b] \subseteq Z$.

Step 2. $f(x) = f(y) \neq 0$ implies $x = y$.

Let $p = (y-x)/f(x)$. From

$$ f(x) = f(y) = f(x+pf(x)) = f(x)f(p),$$

we have $f(p) = 1$. Now assume that $p \neq 0$ Then

$$f(t+p) = f(p+tf(p)) = f(t)f(p) = f(t) \qquad \forall t \in \Bbb{R}$$

and hence $f$ is periodic. By Step 1, this implies that $Z$ is an interval which is unbounded in both direction, so $Z = \Bbb{R}$, contradicting the assumption $f \not\equiv 0$.

Step 3. There exists $a \in \Bbb{R}$ such that $f(x) = 1 + ax$ for $x \in \Bbb{R}\setminus Z$.

Use the assumption $f \not\equiv 0$ to choose $c \neq 0$ such that $f(c) \neq 0$ and let $a = \frac{f(c) - 1}{c}$. Then for any $x \notin Z$,

$$ f(x + cf(x)) = f(x)f(c) = f(c+xf(c)) \neq 0 $$

and so $x + cf(x) = c + xf(c)$. Solving this equation gives $f(x) = 1 + ax$.

Step 4. Except for the trivial solution $f \equiv 0$, only 2 types of solutions are possible:

  • Case 1. $f(x) = 1+ax$ for some $a \in \Bbb{R}$
  • Case 2. $f(x) = \max\{1+ax, 0\} $ for some $a \in \Bbb{R}$

Assume that $f \not\equiv 0$. Then it follows from $f(x) = f(x+0\cdot f(x)) = f(x)f(0)$ that $f(0) = 1$. This together with Step 3 shows that only Case 1 and 2 are possible solutions to the functional equation. We check that both cases are indeed solutions.

Since Case 1 is easy to verify, we focus on Case 2. Also, in Case 2, notice that $x \notin Z$ if and only if $1+ax > 0$. Then

  • If $x \in Z$, then $f(x+yf(x)) = f(x) = 0 = f(x)f(y)$.

  • If $x \notin Z$, then $x+yf(x) = x+y(1+ax) = x+y+axy$. So

    \begin{align*} x+yf(x) \notin Z &\quad \Leftrightarrow \quad 1+a(x+y+axy) = (1+ax)(1+ay) > 0 \\ &\quad \Leftrightarrow \quad 1+ay > 0. \end{align*}

    From this it is easy to check that $f(x+yf(x)) = f(x)f(y)$ holds for all $y$.

Therefore $f(x) = \max\{0,1+ax\}$ is also a solution of the functional equation.