$g(x+y)+g(x)g(y)=g(xy)+g(x)+g(y)$ for all $x,y$. Find all functions $g:\mathbb{R}\to\mathbb{R}$ with $g(x+y)+g(x)g(y)=g(xy)+g(x)+g(y)$ for all $x,y$.
I think the solutions are $0, 2, x$. If $g(x)$ is not identically $2$, then $g(0)=0$. I'm trying to show if $g$ is not constant, then $g(1)=1$. I have $g(x+1)=(2-g(1))g(x)+g(1)$. So if $g(1)=1$, we can show inductively that $g(n)=n$ for integer $n$. Maybe then extend to rationals and reals.
 A: Let $P(x,y)$ denote $g(x+y) + g(x) g(y) =g(xy) + g(x) + g(y) $. The important statements that we'd consider are
$$ \begin{array} { l l l } 
P(x,y) & : g(x+y) + g(x) g(y) =g(xy) + g(x) + g(y) & (1) \\
P(x,1) & : g(x+1) + g(x) g(1) = 2 g(x) + g(y) & (2) \\
P(x, y+1) & : g(x+y+1) + g(x) g(y+1) = g(xy+x) + g(x) +g(y+1) & (3)\\
\end{array}
$$
Let $g(1) = A$. With $x=y=1$, we get $g(2) + A^2 = 3A$.    
With $x=y=2$, we get $g(4) + g(2)^2 = g(4) + 2g(2) $. Hence either $g(2) = 0$ or $g(2) = 2$.   
Case 1: If $g(2) = 0$, then $A^2 - 3A = 0$ so $A=0$ or $A=3$.
Case 1a: (This case is incomplete) If $A=0$:
$(2)$ gives us $g(x+1) = 2g(x)$.   
$(3)$ gives us $g(x+y+1) +g(x)g(y+1)= g(xy+y) + g(x)+g(y+1)$.
Applying the above gives $2g(x+y)+g(x)2g(y) = g(xy+x) + g(x) + 2g(y)$, or that $2g(x+y) + 2g(x)g(y) = g(xy+x) + g(x) + 2g(y)$.   
$(1)$, combined with the above gives us $g(xy+x) = 2g(xy) + g(x) $.
Substitute $y=1$ in the above identity, we get $g(2x) = 3g(x)$.    
(Incomplete here)
Comparing with the first equation, we thus have $g(x) = 0 $.
It is easy to check that $g(x) = 0$ is a solution.
Case 1b: If $A=3$:
$(2)$ gives us $g(x+1) = - g(x) + 3$.
$P(x,2)$ gives us $g(x+2) = g(2x) + g(x)$.
From the previous identity, $g(x+2) = -g(x+1) + 3 = g(x)$. Hence $g(2x) = 0$ for all $x$. However, with $x = \frac{1}{2}$, we have a contradiction. There is no solution in this case.
Case 2: If $g(2) = 2$, then $A^2 - 3A +2  = 0 $ so $A= 1$ or $A=2$.
Case 2a: If $A = 1$:
$P(0,1) $ gives us $g(1) + g(0) = g(0) + g(0) + g(1)$ so $g(0) = 0 $.
$(2)$ gives us $g(x+1) = g(x) + g(1)$.
$(3)$ gives us $g(x+y+1) + g(x) g(y+1) = g(xy+x) + g(x) + g(y+1)$. Using the above, this gives us $ g(x+y) + g(x) g(y) = g(xy+x) + g(x) + g(y) $.
$(1)$ gives us $g(x+y) + g(x) g(y) = g(xy) + g(x) + g(y)$. Hence $g(xy+x) = g(xy) + g(x) $.
Now, for non-zero $a, b$, let $x = b$ and $ y = \frac{b}{a}$. This gives us $g(a+b) = g(a) + g(b) $. It is clear that this equation also holds if $a$ or $b$ equals 0, since $g(0) = 0 $. Thus, we have $g(x+y) = g(x) + g(y) $.
This also yields $g(xy) = g(x) g(y)$. With these 2 equations, the only solution is $g(x) = x$. (slight work here, but this is standard in functional equations).
Case 2b: If $A=2$:   
$(2)$ gives us $g(x+1) +2g(x) = g(x) + g(x) + g(1)$, so $g(x) = 2$ for all $x$. This is clearly a solution.
In conclusion, we only have the 3 solutions $g(x) = 0$ or $g(x) = 2$ or $g(x) = x$.
A: About showing that $g(1)=1$: If we assume that $g(0)=0$ and $g(2)\neq 0$, we can prove that $g(1)=1$ as follows:
We take $x=y=2$, and substitute:
$g(2+2)+g(2)g(2)=g(2\cdot 2)+g(2)+g(2)$
thus
$g(4)+g(2)^2=g(4)+2g(2)$, and since we are assuming that $g(2)\neq 0$, then
$g(2)=2$.
Now, if we have $x\neq 0$, then taking $y=x^{-1}$ and substituting on the original equation gives us
$g(x+x^{-1})+g(x)g(x^{-1})=g(1)+g(x)+g(x^{-1})$.
In particular, taking $x=1$,
$g(2)+g(1)g(1)=g(1)+g(1)+g(1)$.
The assumption $g(2)\neq 0$ and this equation in particular imply that $g(1)\neq 0$. And in fact we have
$3g(1)-g(1)^2=g(2)=2$, which gives $g(1)=1$ or $2$.

Added later (to rule out $g(1)=2$):
Suppose that $g(1)=2$. Taking $x=1,y=-1$ we have
$g(1+(-1))+g(1)g(-1)=g(1\cdot (-1))+g(1)+g(-1)$,  that is
$2g(-1)=g(-1)+2+g(-1)$, and so
$0=2$, which is absurd.
A: It is much more complicated than it seems. If you put $x=y=0$, you get either $g(0)=0$ or $g(0)=2$. If $g(0)\neq 0$ then put $y=0$ in the equation and you get for all other $x$, $g(x)=2$.
First solution: $g(x)=2$
Now if $g(0)=0$ there are other possibilities. Choose $x=y=2$ and then either $g(2)=0$ or $g(2)=2$. 
If $g(2)=0$, then either $g(1)=0$ or $g(1)=3$. For $g(1)=0$, you get $g(n)=0$ for all $n\in\mathbb{Z}$. Also you get:
$$
g(x+n)=g(nx)+g(x)\rightarrow g(x+1)=2g(x) \rightarrow g(x+n)=2^ng(x)
$$
On the other hand you have: 
$$
g(mx)=(2^m-1)g(x)
$$
Now write: $g(2x+2n)$ in two ways. 
$$
g(2x+2n)=2^{2n}g(2x)=2^{2n}3g(x)\text{ or } g(2x+2n)=3g(x+n)=2^{n}3g(x).
$$
Now for all $n$ we have $2^{n}3g(x)=2^{2n}3g(x)$ which means $g(x)=0$. So you get:
Second solution: $g(x)=0$ for $g(0)=g(2)=g(1)=0$.
Now if $g(1)=3$, we can see that $g(x+1)+g(x)=3$ which gives $g(2k)=0$ and $g(2k+1)=3$. Also $g(x)=g(x+2)=g(x+2n)$ Moreover we have similar to before:
$$
g(x+2n)=g(2nx)+g(x)\rightarrow g(x+2)=g(2x)+g(x) \rightarrow g(2x)=0.
$$
so for all $x$, $g(2x)=0$ which is in contradiction with $g(1)=3$ (choose $x=0.5$). So $g(1)$ cannot be 3. 
Now we go the case where $g(0)=0$ and $g(2)=2$. By similar argument, $g(1)$ is either 1 or 2. $x=2$ leads to contradiction in a similar way and so you should consider $g(1)=1$ which by induction gives $g(n)=n$. To prove it for rationals start with observing that $g(n+x)=n+g(x)$. Then choose $x=n$ and $y=\frac{1}{n}$ which gives you $g(\frac{1}{n})=\frac{1}{n}$. Finally it can be shown that  $g(\frac{m}{n})=\frac{m}{n}$ and then you can show that $g(x)\neq x$ leads to contradiction:
Third Solution: $g(x)=x$.
A: Here's a much less murky solution with strong influence from Calvin Lin's excellent answer.
$$
g(x + y) + g(x)g(y) = g(xy) + g(x) + g(y) \tag{0}
$$
First of all, plugging in $y = 1$ gives
$$ g(x + 1) + g(x)g(1) = 2g(x) + g(1)$$
For readability let $g(1) = k$ and we have
$$
g(x + 1) = (2-k)g(x) + k \tag{1}
$$
Plugging in $y + 1$ for $y$ in (0) and reducing with (1):
\begin{align*}
g(x + y + 1) + g(x)g(y+1)
&= g(xy + x) + g(x) + g(y+1) \\
(2-k)g(x + y) + k + g(x) \left[ (2-k)g(y) + k \right]
&= g(xy + x) + g(x) + (2-k)g(y) + k \\
(2-k)\left[g(x + y) + g(x) g(y) - g(x) - g(y)\right] + g(x)
&= g(xy + x)
\end{align*}
Using (0) again we conclude
$$
g(xy + x) = (2-k)g(xy) + g(x)
$$
So as long as $x$ is nonzero, letting $z = xy$ we have
$$
g(z + x) = (2 - g(1))g(z) + g(x) \tag{2}
$$
for all real $x$ and $z$, $x \ne 0$.
From here on out we just work with the much cleaner equation (2).
Setting $z = 0$ gives $(2 - g(1))g(0) = 0$, so either $g(1) = 2$ or $g(0) = 0$.
If $g(1) = 2$, then $g(z + x) = g(x)$ so $g(x) = 2$ everywhere.  Otherwise, $g(0) = 0$, so plug in $z = -x$ to (2):
$$
0 = (2 - g(1))g(-x) + g(x) \implies g(x) = (g(1) - 2) g(-x)
$$
It follows by applying this to $g(--x)$ that $g(x) = (g(1) - 2)^2 g(x)$.  If $g(x)$ is 0 everywhere, this is a solution to the original (0); otherwise, this implies $g(1) - 2 = \pm 1$, so $g(1) = 1$ or $g(1) = 3$.
In the case $g(1) = 1$, $g(z + x) = g(z) + g(x)$.  This implies $g(x) = mx$ for some constant $m$, and $g(1) = 1$ so $g(x) = x$.
In the case $g(1) = 3$, $g(z + x) = -g(z) + g(x)$.  But exchanging $x$ and $z$, $g(z + x) = -g(x) + g(z)$, so $g$ is uniformly 0 (which we already assumed was not the case).
A: 
This is my answer to the question solving functional equation $f(x+y)+f(x)f(y)=f(x)+f(y)+f(xy)$ for all real numbers, which I recently found to be a duplicate. I thought it might be useful to post it here.

The only solutions to the functional equation
$$g(x+y)+g(x)g(y)=g(x)+g(y)+g(xy)\tag0\label0$$
are the identity function $g(x)=x$, and constant functions $g(x)=0$ and $g(x)=2$.
To observe this, if we set $x=y=2$ we get $g(2)=0$ or $g(2)=2$.
By setting $x=y=1$ we get $\big(g(1)\big)^2-3g(1)+g(2)=0$. So if $g(2)=0$ then $g(1)=0$ or $g(1)=3$, and if $g(2)=2$ then $g(1)=1$ or $g(1)=2$.

*

*If $g(2)=0$ and $g(1)=3$, by letting $y=1$ in \eqref{0}, we have $g(x+1)=3-g(x)$ which yields $g(x+2)=3-g(x+1)=3-\big(3-g(x)\big)=g(x)$. Now if we put $x=\frac{1}{2}$ and $y=2$ in \eqref{0} we get $g(1)=0$ which leads to a contradiction. So this case can't happen.

*If $g(2)=0$ and $g(1)=0$, by letting $y=1$ in \eqref{0}, we have $g(x+1)=2g(x)$ which inductively yields $g(x+n)=2^ng(x)$ for any nonnegative integer $n$. Now if we put $y=2$ in \eqref{0} we get $g(2x)=3g(x)$ and then $g(4x)=3g(2x)=9g(x)$. Againg, putting $y=4$ in \eqref{0} we conclude that $g(4x)=15g(x)$ since $g(4)=2^2g(2)=0$. Hence $9g(x)=15g(x)$ and so $g$ is the constant zero function.

*If $g(2)=2$ and $g(1)=2$, by letting $y=1$ in \eqref{0}, we have $g(x+1)=2$. So $g$ is the constant two function.

*If $g(2)=2$ and $g(1)=1$, by letting $y=1$ in \eqref{0}, we have $g(x+1)=g(x)+1$ which inductively yields $g(x+n)=g(x)+n$ for any integer $n$. By putting $y=n$ in \eqref{0} we have $g(nx)=ng(x)$ since $g(n)=g\big(1+(n-1)\big)=n$. Substituting $2x$ for $x$ and $2y$ for $y$ in \eqref{0} we get:
$$g(2x+2y)+g(2x)g(2y)=g(2x)+g(2y)+g(4xy)$$
$$\therefore 2g(x+y)+4g(x)g(y)=2g(x)+2g(y)+4g(xy)$$
Multiplying \eqref{0} by $2$ and subtracting the last equation, we get:
$$g(xy)=g(x)g(y)\tag1\label1$$
Subtracting \eqref{0} and \eqref{1} we have:
$$g(x+y)=g(x)+g(y)\tag2\label2$$
It's well known that if $g$ satisfies \eqref{1} and \eqref{2}, then it's either the constant zero function or the identity function (hint: \eqref{1} implies that $g(x)$ is nonnegative for nonnegative $x$. By \eqref{2} we conclude that $g$ is increasing.)

A: Substituting an infinitesimal $y=dx$ gives
$g(x)+g(x)g(0)=g(0)+g(x)+g(0)$ or $g(x)g(0)=2 g(0)$
and
$g'(x)+g(x)g'(0)=g'(0)x+g'(0)$,
for a smooth function $g(x)$.
The first equation implies either $g(0)=0$ or $g(x)=2$.
Solving the differential equation with the condition $g(0)=0$ gives
$g(x)=\frac{1}{k}((1-k)e^{-kx}+k(x+1)-1),$
where $k=g'(0)\ne0$. If $g'(0)=0$, then $g(x)=0$.
Any smooth solution of your equality with $g(0)=0$ and $g'(0)\ne0$ must be of this form for some $k=g'(0)$.
I get
$g(x)=x$
for $k=1$.
You can check if that is the only option by substituting $g(x)$ into your equality.
