Sea $P(x,y)$ la ecuación del problema.
En $P(0,0)$ tenemos que $f(0)=0$. En $P(x,0)$ y $P(-x,0)$ tenemos:
$$f(x^2)=xf(x)=-xf(-x)\to f(x)+f(-x)=0,\forall x\in \mathbb{R}\setminus\{0\}.$$
Como $f(0)=0$, podemos decir que $f(x)+f(-x)=0,\forall x\in \mathbb{R}.$
Luego en $P(x,a)$ tenemos:
\begin{align*}
f(x^2)&=xf(x)+af(x), \forall x\in \mathbb{R}
\end{align*}
Luego usando lo anterior tenemos $0=af(x), \forall x\in \mathbb{R}$, y como $a\neq 0$, luego $f(x)=0$ $\forall x\in \mathbb{R}$.
Por lo tanto, las únicas soluciones son
\begin{align*}
f(x)&=0,\forall x\in \mathbb{R},\\
f(x)&=x,\forall x\in \mathbb{R}.
\end{align*}
Que claramente satisfacen la ecuación $P(x,y)$.
La primera opción es absurda ya que $y \in \mathbb R$, por lo tanto $f(0) = 0$
$\blacksquare$
Teorema 2: $f$ es sobreyectiva
Demostración:
Supongamos que existe un $x = a, f(a) \neq 0$. Luego tenemos que:
$f(a^2 + a.f(y)) = a.f(a) + y.f(a)$
Y por lo tanto, si $f(a) \neq 0$ entonces $f$ es sobreyectiva ya que el lado derecho abarca todos los números reales y del lado izquierdo aparece $f$.
$\blacksquare$
Teorema 3: $f(x) = 0 \land f(x) = x$
Demostración:
$f(x^2 + x.f(y)) = x.f(x) + y.f(x)$
Ahora vamos a buscar el valor de $f(y')$ tal que $x^2 + x.f(y') = 0$
$x^2 + x.f(y') = 0$
$f(y') = -x \lor x = 0$
Y solo nos quedamos con la primera solución ya que la segunda la habíamos considerado al principio para hallar $f(0)$.
Nos queda que:
$f(0) = (x + y')f(x)$
$0 = (x + y')f(x)$
$f(x) = 0 \lor y' = - x$
Pero recordemos que $f(y') = -x$, por lo tanto $f(-x) = -x \Rightarrow f(x) = x$.
Entonces las dos soluciones al problema son:
$f(x) = 0 \land f(x) = x$
$\blacksquare$
Comprobación de soluciones:
$f(x(x+f(y))) = (x+y)f(x)$
Con $x=0,y=2$ $f(0)=2f(0)$, entonces $f(0)=0$
--Caso 1: Si $f(1)=0$:
Con $y=1$: $f(x^2)=(x+1)f(x)$
Con $y=0$: $f(x^2)=xf(x)$
Entonces $xf(x)=(x+1)f(x)$
$f(x)=0$
Entonces si $f(1)=0$, $f(x)=0$ para todo $x$
Reemplazando $f(x)=0$ en el enunciado, esta solución es valida.
--Caso 2: Si $f(1)\neq 0$
Si $x=1$: $f(1+f(y))=(1+y)f(1)$
Si queremos un determinado valor de $f(1+f(y))$ podemos usar $y=\frac{f(1+f(y))}{f(1)}-1$
Entonces $f$ es sobreyectiva.
Podemos tomar $c$ tal que $f(c)=0$
Con $x=1,y=c$:
$f(1)=(1+c)f(1)$
como $f(1)\neq 0$, $1+c=1$, $c=0$
Si tomamos una posible función inversa de $f$ llamada $g$, es decir tal que $f(g(x))=x$
Con $y=g(-x)$, y $x \neq 0$:
$0=f(0)=(x+g(-x))f(x)$
Como el unico valor de x tal que $f(x)=0$ es $0$ pero $x \neq 0$, $f(x) neq 0$
Entonces $x+g(-x)=0$
$-x=g(-x)$
$f(-x)=-x$
$f(x)=x$
Y si $x=0, f(x)=0$
Entonces para todo $x$ real $f(x)=x$
Reemplazando $f(x)=x$ en el enunciado:
$f(x(x+f(y)))=x(x+y)=(x+y)f(x)$
Entonces la solución es válida.
Entonces las únicas $f$ que cumplen son $f(x)=0$ y $f(x)=x$
Con mi gran amigo @El gran Filipikachu; nos preguntamos que pasaría si en vez de que sea de $\mathbb{R} \rightarrow \mathbb{R}$ era de $\mathbb{R}^+ \rightarrow \mathbb{R}^+$. Invito a pensarlo antes de ver la solución.
Sea $P(x,y):f(x(x+f(y)))=(x+y)f(x)$
Supongamos que existen $a$ y $b$ tal que $f(a)=f(b)$, entonces:
$P(x,a):f(x(x+f(a)))=(x+a)f(x)$
$P(x,b):f(x(x+f(b)))=(x+b)f(x)$
Por nuestra suposición, los lados izquierdos de ambas ecuaciones son iguales, por lo que:
$(x+a)f(x)=(x+b)f(x) \Rightarrow xf(x)+af(x)=xf(x)+bf(x) \Rightarrow af(x)=bf(x) \Rightarrow f(x)(a-b)=0$
Pero como $f$ va de $\mathbb{R}^+ \rightarrow \mathbb{R}^+$, entonces $f(x)\neq 0, \forall x$, por lo que necesariamente $a=b$, que implicaría que nuestra función es inyectiva.
Ahora agarramos $x$ e $y$ tales que $x+y=1$. Como ambos números son reales positivos, se tiene que $0< x,y < 1$. Ahora:
$P(x,y):f(x(x+f(y)))=f(x) \Rightarrow x(x+f(y))=x \Rightarrow x+f(y)=1 \Rightarrow 1-y+f(y)=1 \Rightarrow f(y)=y, \forall 0< y< 1$
Por último, podemos elegir $x< 1$ suficientemente pequeño tal que $x(x+f(y))< 1$, de modo que $f(x(x+f(y)))=x(x+f(y))$, haciendo que nuestra expresión original quede:
$f(x(x+f(y)))=(x+y)f(x) \Rightarrow x(x+f(y))=(x+y)x \Rightarrow x + f(y) =x+y \Rightarrow f(y)=y, \forall y\in \mathbb{R}^+$
Solo basta evaluar en la ecuación dada para ver que funciona.
Si $\exists{k}: f(k)\neq 0$,entonces $\forall{c}\in\mathbb{R}$, podemos tomar
$P(k,\frac{c-k}{f(k)})$:
$$f(...) = c$$
y f es sobreyectiva. La hipotesis solo sería incorrecta si $f(x) = 0 \forall{x}\in\mathbb{R}$
Veamos que $f(x) = 0$ es una solución correcta:
$$f(x(x+f(y))) = 0 = (x+y)f(x)$$
Dejando de lado este caso, se tiene f sobreyectiva. Por lo tanto, podemos tomar
$P(-f(y),y)$:
$$f(0) = (x+y)f(x)$$
$$0 = (x+y)f(x) \Rightarrow f(x)= 0 \lor x+y=0 $$
En el segundo caso, esto significaría que
$ x=-y \\ x = -f(y) = -f(-x) \\ t=-x, f(t) = t$
Entonces se derivaron dos posibles valores para cada $x$
$$f(x) = \left\{\begin{matrix} x
\\ 0
\end{matrix}\right.$$
Veamos que estas dos funciones no se pueden "mezclar". Supongamos que existen $a$, $b$ distintos de $0$ tales que
$$f(a) = 0 \hspace{5ex} f(b) = b$$
$P(b,a)$:
$$f(b^{2}) = (b+a)b$$
Como $b^{2}\neq (b+a)b$ ya que ambos son distintos de $0$. Entonces,
$$(b+a)b = 0 \Rightarrow a = -b \Rightarrow a^{2} = b^{2}$$
Pero utilizando $(1)$:
$$f(a^{2}) = af(a) = 0$$
$$f(b^{2}) = bf(b) = b^{2} \neq 0$$
Absurdo. Por lo tanto, no existen tales $a$ y $b$.
Por ende, las soluciones que cumplen con lo pedido son
$$f(x) = 0 \hspace{3ex} y \hspace{3ex} f(x) = x$$
Solo falta demostrar que $f(x)= x$ realmente lo cumple:
$$f(x(x+f(y))) = x^{2} + xy = (x+y)f(x)$$
Sea $P(x,y)$ la proposición del enunciado. Supongamos que $f(x)=c$ constante. Reemplazando en la ecuación obtenemos $c=(x+y)c$, tomando $x=y=1$ llegamos a $c=0$ que es solución. Supongamos ahora que $f$ no es constante.
$P(0,2): f(0)=(0+2)f(0) \rightarrow f(0)=0$
Sea $c\neq 0$ tal que $f(c) \neq 0$ (existe porque sino $f$ resultaría constante).
$P(c,y): f(c^2+cf(y))=cf(c)+yf(c)$
Como el lado derecho recorre todos los reales cuando $y$ recorre todos los reales, el lado izquierdo recorre todos los reales y $f$ resulta sobreyectiva.
Supongamos que existen reales $a$ y $b$ tales que $f(a)=f(b)$, tenemos entonces, combinando $P(c,a)$ y $P(c,b)$ lo siguiente:
Tomemos $t\neq 0$ tal que $f(t)=-x$ (existe por la sobreyectividad) y $x\neq 0$.
$P(x,t): 0=f(0)=f(x(x-x))=(x+t)f(x)$
Pero como $f$ es biyectiva y $f(0)=0$ y $x\neq 0$ resulta $f(x)\neq 0$, es decir $x+t=0$, entonces $t=-x$ es el único valor que cumple $f(t)=-x$, de donde $f(-x)=-x$ para todo real, luego, tomando $u=-x$ queda $f(u)=u$ para todo $u$ real (ya sabíamos $f(0)=0$) y es fácil verificar que cumple la ecuación original y estamos $\blacksquare$