Find all multiplicative continuous functions on $(0,\infty)$ 
If $x>0,y>0$ and if $f(xy)=f(x)f(y)$, then $f=\, ?$

I tried the problem. And got it as $f(x)^n=f(x^n)$.
But answer is $f(x)=x^n$. How?
$f$ is a continuous function.

4 obvious solutions spring to mind.
$f(x) = 0$ then $f(xy) = 0 = 0*0 =f(x)f(y) $.
$f(x) = 1$ then $f(xy) = 1 = 1*1 = f(x)f(y) $.
$f(x) = x$ then $f(xy) = xy = f(x)f(y)$.
And $f(x) = x^n$ for some $n \in \mathbb R$ then $f(xy) = x^ny^n = f(x)f(y)$.
These are all really the same class of answers.  If $n = 1; f(x) = x = x^1$.  If $n = 0; f(x) =1 = x^0$.  $f(x) = 0$ can be considered an exception.  However if we were to allowed $n$ in the extended reals.  $n = -\infty; f(x) = 0 = x^{-\infty}$.
But are is this the only class of solutions?
let $b \ne 1; f(b) = c$.  Then $c = b^{\log_b c}$.  Let $n = \log_b c$. So $f(b) = b^n$.
(I am assuming $c > 0$.[footnote])
Let $x > 0$.  Let $k = \log_b x$.  So $x = b^k$.
$f(x) = f(b^k) = f(b)^k = b^{nk} = x^n$. And we are done
(I am assuming $f(x^k) = f(x)^k$ for all $k \in \mathbb R$. [footnote 2])
====
[footnote]
If $f(b) = 0$ then $f(1) = f(b)f(1/b) = 0$.  S0 $f(x) = f(x)f(1) = 0$ for all $x$ and $f(x) = 0$ is one of the cases we discussed and we can assume we are trying for other cases.  So we may assume $f(b) \ne 0$. Furthermore no $x > 0$ is such $f(x) = 0$.
$f(x) = f(x)f(1)$ so $f(1) = 1 > 0$.  If $f(b) < 0$ then by intermediate value theorem there exist a value $c$ between $b$ and $x$ where $f(c) = 0$ but we've shown that is not the case.  So $f(x) >0$ for all $x$.
[footnote 2]
$f(x^n) = f(x*x*...) = f(x)^n$ and $f({x}^{1/n})^n = f(x)$ so $f({x}^{1/n}) = f(x)^{1/n}$.  So $f(x^r)= f(x)^r; \forall r \in \mathbb Q$.  As $f$ is continuous,  $f(x^y) = f(x)^y$ for all $y \in \mathbb R$.
