Exist $f : \mathbb { R } \rightarrow \mathbb { R }$ such that $f (x)f (y) = f (x+ y) \forall x , y \in \mathbb { R }$ , but $f$ is not continuous? Does there exist a function $f : \mathbb { R } \rightarrow \mathbb { R }$ such that $f ( x ) \cdot f ( y ) = f ( x + y )$ $\forall$ $x , y \in \mathbb { R }$ , but such that $f$ is not everywhere continuous?
I have this problem for my undergraduate Real Analysis class and have not been able to make any progress whatsoever. I have talked to postdocs and PhD students and none of them have been able to help. 
I was thinking that it might be something like $f(x) = a^x$ if $x\in\mathbb{Q}$ and $f(x) = 0$ if $x\in\mathbb{I}$, but then I realized that this did not work due to cases like $x=\pi$ and $y=-\pi$. 
Does anyone have any input on this problem?
 A: Take a discontinuous map $g: \mathbb{R} \to \mathbb{R}$ for which $g(x+y)=g(x)+g(y)$ (assume for now that one exists). Then consider $f(x) = e^{g(x)}$, so that
$$ f(x+y) = e^{g(x+y)} = e^{g(x)+g(y)} = e^{g(x)}e^{g(y)} = f(x)f(y)$$
This will clearly be discontinuous since $g$ is, so this reduces the problem to finding a discontinuous $g$ with the property above. (Note that such a $g$ is a solution to Cauchy's Functional Equation, so we're ultimately asking whether there are discontinuous solutions to that equation.)
To get such a $g$, we need to use some tools that are probably above an introductory analysis class unless you've talked a bit about vector spaces and the Axiom of Choice. By the Axiom of Choice, every vector space has a basis, so by considering $\mathbb{R}$ as a $\mathbb{Q}$-vector space, we know that it will have a basis, say $\mathcal{B}$. In other words, $\mathcal{B}$ is a subset of $\mathbb{R}$ such that for any $x\in \mathbb{R}$, there are unique $x_1,\ldots,x_n \in \mathcal{B}$ and $\lambda_1,\ldots,\lambda_n \in \mathbb{Q}$ for which $x = \lambda_1 x_1 + \cdots + \lambda_n x_n$.
For each element $x \in \mathcal{B}$, choose an arbitrary $\alpha_x \in \mathbb{R}$; the only thing we require is that not all of the $\alpha_x$'s are the same. Then one can check that the function, where $x = \lambda_1 x_1 + \cdots + \lambda_n x_n$ is the unique decomposition of $x \in \mathbb{R}$ as above,
$$g(x) = \lambda_1 \alpha_{x_1} x_1 + \cdots + \lambda_n \alpha_{x_n} x_n$$
satisfies the rule $g(x+y) = g(x)+g(y)$. Ultimately, $g$ is simply some non-trivial $\mathbb{Q}$-linear map $\mathbb{R} \to \mathbb{R}$. 
To see that these aren't continuous, one can check that continuity (at even a single point) implies that such a map must be of the form $g(x) = \alpha x$ for some $\alpha$. Since the above map is not of that form, it cannot be continuous.
A: If $f(a)=0$ for some $a\in\mathbb{R}$, then
$$f(x)=f\big((x-a)+a\big)=f(x-a)\,f(a)=0\text{ for all }x\in\mathbb{R}\,.$$
If $f(x)\neq 0$ for any $x\in\mathbb{R}$, then
$$f(x)=f\left(\frac{x}{2}+\frac{x}{2}\right)=f\left(\frac{x}{2}\right)\,f\left(\frac{x}{2}\right)=\Biggl(f\left(\frac{x}{2}\right)\Biggr)^2>0$$
for every $x\in\mathbb{R}$.  Therefore, we may define $g:\mathbb{R}\to\mathbb{R}$ via $$g(x):=\ln\big(f(x)\big)\text{ for each }x\in\mathbb{R}\,.$$
Now, $$g(x+y)=\ln\big(f(x+y)\big)=\ln\big(f(x)\,f(y)\big)=\ln\big(f(x)\big)+\ln\big(f(y)\big)=g(x)+g(y)$$
for any $x,y\in\mathbb{R}$.  This is known as Cauchy's Functional Equation, where solutions are known (with the Axiom of Choice).
If $g$ is continuous anywhere, or bounded in some bounded open set, then it is continuous everywhere and given by $g(x)=kx$ for all $x\in\mathbb{R}$, and $k$ is a fixed constant.  That is, $f(x)=\exp(kx)=a^x$ for all $x\in\mathbb{R}$, where $a:=\exp(k)$.  
However, there are uncountably many totally discontinuous solutions $g:\mathbb{R}\to\mathbb{R}$ (whence $g$ is not bounded in any bounded open interval, so good luck plotting such a solution).  To be exact, there are as many choices of $g$ as the choices of functions from $\mathbb{R}$ to $\mathbb{R}$.  (That is, the cardinality of the set of $g:\mathbb{R}\to\mathbb{R}$ such that $g(x+y)=g(x)+g(y)$ for all $x,y\in\mathbb{R}$ is precisely $\left|\mathbb{R}^\mathbb{R}\right|=2^{|\mathbb{R}|}$.)
Let $\mathcal{B}$ be a basis of $\mathbb{R}$ as a vector space over $\mathbb{Q}$.  For each $b\in\mathcal{B}$, let $t_b\in\mathbb{R}$.  Define 
$$g\left(\sum_{b\in\mathcal{B}}\,\lambda_b \,b\right):=\sum_{b\in\mathcal{B}}\,\lambda_b\,t_b$$
for all $\left(\lambda_b\right)_{b\in\mathcal{B}}\in\bigoplus\limits_{b\in\mathcal{B}}\,\mathbb{Q}$.  That is,
$$f\left(\sum_{b\in\mathcal{B}}\,\lambda_b \,b\right)=\prod_{b\in\mathcal{B}}\,\exp(\lambda_b\,t_b)=\prod_{b\in\mathcal{B}}\,\alpha_b^{\lambda_b}$$
for all $\left(\lambda_b\right)_{b\in\mathcal{B}}\in\bigoplus\limits_{b\in\mathcal{B}}\,\mathbb{Q}$, where $\alpha_b:=\exp\left(t_b\right)$.
