Solving functional equation gives incorrect function

Let $f:\mathbb{R} \to \mathbb{R}$ be a function which satisfies $e^xf(y)+e^yf(x)=2e^{x+y}-e^{x-y}$ for all real x and y. If I place $x=y$, I get $f(x)=e^x-\frac{1}{2}e^{-x}$ which does not satisfy the original equation.

Now instead, if I set$x=y=0$, I get $f(0)=\frac{1}{2}$. Now setting $y=0$ in the original equation, I get $f(x)=\frac{e^x}{2}$

My question is that why do we get incorrect and different solutions if we proceed in the ways mentioned above? Also, what is the correct solution of this functional equation and how can I find it?

• You have correctly shown that no such function exists. – Empy2 Aug 3 '15 at 16:37
• @Michael: How can I say that no other function exists which satisfies the given equation? – Akshit Aug 3 '15 at 16:43
• By putting $x=y$, you showed the only possible function is $e^x-\frac12e^{-x}$. No other will work. But nor does that function. – Empy2 Aug 3 '15 at 16:44
• Also, if I solve other equations like polynomial or trigonometric equations, I don't get solutions which do not satisfy the original equation. But why is this problem occurring here ? If no solution exists, shouldn't I get no solutions at all, instead of incorrect ones? – Akshit Aug 3 '15 at 16:46
• What other equations? – marty cohen Aug 3 '15 at 16:49

Suppose $g(x)f(y)+g(y)f(x)=2g(x+y)-g(x-y)$ where $g(0) \ne 0$.

Setting $x=0$, $g(0)f(y)+g(y)f(0)=2g(y)-g(-y)$.

Setting $y=0$, $g(x)f(0)+g(0)f(x)=2g(x)-g(x) =g(x)$ or $g(0)f(x) =g(x)(1-f(0))$.

Setting $x=y=0$, $g(0)f(0) =g(0)(1-f(0))$. Since $g(0) \ne 0$, $f(0) = \frac12$ and $f(x) =\frac{g(x)}{2g(0)}$.

Putting this back,

$\begin{array}\\ 2g(x+y)-g(x-y) &=g(x)f(y)+g(y)f(x)\\ &=g(x)\frac{g(y)}{2g(0)}+g(y)\frac{g(x)}{2g(0)}\\ &=\frac{g(x)g(y)}{g(0)}\\ or\\ g(0)(2g(x+y)-g(x-y)) &=g(x)g(y)\\ \end{array}$.

Setting $x=y$, $g(0)(2g(2x)-g(0)) = 2g^2(x)$. Setting $x=0$, $g(0) = 2g^2(0)$. Since $g(0) \ne 0$, $g(0) = \frac12$.

Therefore $2g(x+y)-g(x-y) =2g(x)g(y)$.

This does not hold for $g(x) = ae^x+b$, so the original problem has no solution.

I don't know how to solve this, so I'll propose it as a question.