Let y=0, we get
f2(x)f(0)+f2(0)f(2x)=2f2(x)f(0).
Thus, f(2x)=f(0)f2(x),f(2y)=f(0)f2(y).
Substituting equation (2) into equation (1) yields
f(x)f(y)(f(x)f(y)−f(0)f(x+y))=0.
From equation (3) and f(x)=0,f(y)=0, we have
f(x)f(y)−f(0)f(x+y)=0.
Let g(x)=f(0)f(x), then from equation (4) we know
g(x+y)=g(x)g(y),
and g(x) is a continuous function.
From equation (5) and mathematical induction, we know
g(nx)=(g(x))n, for any n∈N+.
Substituting x=1,x=nm into equation (6) gives
g(n)=(g(1))n,
g(m)=(g(nm))n.
From equation (5), we know
g(x)=(g(2x))2>0, for any x∈R.
From equations (7), (8), and (9), we know
g(nm)=(g(1))nm,m,n∈N+.
Since g(0)=f(0)f(0)=1, from equation (5) we get
g(−nm)=g(nm)g(0)=(g(1))−nm.
From g(0)=1 and equations (10) and (11), we know
g(x)=(g(1))x, for any x∈Q.
From equation (2) and the continuity of g(x), we know
g(x)=(g(1))x, for any x∈R.
(13)
From equation (13) and g(x)=f(0)f(x), we know
f(x)=f(0)(f(0)f(1))x, for any x∈R.
(14)
Let b=f(0)=0,c=f(0)f(1)>0, then equation (4) is f(x)=bcx, for any x∈R.
Upon verification, f(x)=bcx(b=0,c>0) satisfies equation (1).
Therefore, the solution is f(x)=bcx(b=0,c>0,b,c are constants ).