Functional equation $f(x+y) = f(x)e^y+ f(y)e^x + 2xye^x e^y$ 
If $f(x)$ be a differentiable function which satisfies the functional equation $f(x+y) = f(x)e^y+ f(y)e^x + 2xye^x e^y~~ \forall ~x,y \in \mathbb R,$ and $f'(0)= 0$ then the number of solutions of $f(x)= 0$ is? 

Attempt:
I have obtained $f(0)=0$ by putting $x=y=0$. 
But I am really struggling after that. I have tried by putting $y=-x$ but that isn't helping. 
Even after differentiating wrt x then putting $y =-x$ doesn't help. 
What is the trick/method to solve this question? 
Answer is: 

 1

 A: $$ \tag1\begin{align}f'(x)&=\lim_{h\to0}\frac{f(x+h)-f(x)}{h}
\\&= \lim_{h\to0}\frac{f(x)(e^h-1)+f(h)e^x+2xhe^xe^h}{h}\\
&=f(x)\lim_{h\to0}\frac{e^h-1}h+e^x\lim_{h\to0}\frac{f(h)-f(0)}h+2xe^x\\
&=f(x)+e^xf'(0)+2xe^x\\
&=f(x)+2xe^x\end{align}$$

Between any two roots of $f$, there is another root.

Indeed, let $a<b$ with $f(a)=f(b)=0$. If $a<0<b$, we are done as we know that $f(0)=0$.
In all other cases,  we see from $f'(a)=2ae^a$ and $f'(b)=2be^b$ that $f'$ has the same sign at $a$ and $b$. Hence for small $\epsilon>0$, $f(a+\epsilon)$ and $f(b-\epsilon)$ have opposite signs, implying a root between $a+\epsilon$ and $b-\epsilon$.
We conclude: 

If $f$ has at least two roots, then there exists a nonzero $a$ such that $a$ is an accumulation point of roots (an by continuity, $a$ is also a root).

But if $a_n\to a$ with $f(a_n)=0$, then $f'(a)=0$, contradicting $f'(a)=f(a)+2ae^a$.
Therefore, $f$ has at most one root - and we already know that $f(0)=0$.

Remark: Note that we did not need that $f$ is differentiable or even continuous to arrive at $(1)$! We only needed that $f'(0)$ exists and equals $0$.
