Show that there is a $c\in(0,1)$ such that $f(c)=\int_0^cf(x)dx$. 
Question: Let $f:[0,1]\to\mathbb{R}$ be a continuous function such that $$\int_0^1f(x)dx=\int_0^1xf(x)dx.$$ Show that there is a $c\in(0,1)$ such that $$f(c)=\int_0^cf(x)dx.$$

My solution: Define the function $g:[0,1]\to\mathbb{R}$, such that $$g(x)=x\int_0^x f(t)dt-\int_0^x tf(t)dt, \forall x\in[0,1].$$
Now since $f$ is continuous on $[0,1]$, thus we can conclude by Fundamental Theorem of Calculus that $g$ is differentiable $\forall x\in[0,1]$ and $$g'(x)=\int_0^x f(t)dt+xf(x)-xf(x)=\int_0^xf(t)dt, \forall x\in[0,1].$$
Observe that $g(0)=g(1)=0$. Hence by Rolle's Theorem we can conclude that $\exists b\in(0,1)$, such that $g'(b)=0$, i.e $$\int_0^b f(t)dt=0.$$ 
Now define $h:[0,1]\to\mathbb{R}$, such that $$h(x)=e^{-x}g'(x), 
\forall x\in[0,1].$$
Now $h'(x)=-e^{-x}g'(x)+g''(x)e^{-x}=e^{-x}(g''(x)-g'(x)), \forall x\in[0,1].$
Observe that $h(0)=h(b)=0$. Hence by Rolle's Theorem we can conclude that $\exists c\in(0,b)\subseteq (0,1)$, such that $h'(c)=0$. This implies that $$e^{-c}(g''(c)-g'(c))=0\\\implies g''(c)-g'(c)=0\hspace{0.3 cm}(\because e^{-c}\neq 0)\\\implies f(c)=\int_0^cf(x)dx.$$
Is this solution correct? And is there a better solution that this?
 A: Your proof is correct. This is another one. 
We may assume that $f$ is not identically zero (otherwise it is trivial). Since $f$ is continuous and
$$\int_0^1(1-x)f(x)\,dx=0$$
we have that $M=\max_{x\in [0,1]}f(x)>0$ and $m=\min_{x\in [0,1]}f(x)<0$. Moreover
$\exists x_M,x_m\in [0,1]$ such that $f(x_M)=M$ and $f(x_m)=m$.
Let us consider the following continuous map
$$F(x):= f(x) - \int_0^xf(t)\,dt.$$ 
If $x_M<1,$ then 
$$F(x_M)=M-\int_0^{x_M}f(t)\,dt\geq M- Mx_M  >0.$$
If $x_M=1$ then, 
$$F(x_M)=M-\int_0^{1}f(t)\,dt> 0$$
because $f$ strictly less than $M$ in an interval of positive length containing $x_m$. 
In both cases we conclude that $F(x_M)>0$.
In a similar way, we show that $F(x_m)<0$. 
Finally, since $F$ is continuous on $[0,1]$, it follows, by the Intermediate Value Theorem, that there exists $c$ strictly between $x_M$ and $x_m$, and therefore 
 $c\in (0,1)$, such that $F(c)=0$, that is
$$f(c)=\int_0^cf(t)\,dt.$$
A: As noted by RobertZ, your proof is correct. Here is another proof that follows the same outline as yours: first we find another zero for the antiderivative of $f$ and then we use Rolle's theorem in an appropriate way. This approach is admittedly more long-winded but doesn't make use of the $e^{-x}$ trick. 
Define $F: [0,1] \to \mathbb{R}$ as $F(x) =\displaystyle \int_{0}^{x}f(t)dt.$ Note that the given condition can be stated as $\displaystyle \int_{0}^{1}F(t)dt =0$
Claim 1: There exists $b \in (0,1)$ such that $F(b) =0.$
Proof of claim 1: By the mean value theorem for integrals there exists $b \in (0,1)$ such that $F(b)= \displaystyle \int_{0}^{1}F(t)dt$, which implies $F(b)=0.$
Now, we look for an appropriate sub-interval of $[0,b]$ on which we can apply Rolle's theorem to $g.$
Let $G(x)=\displaystyle \int_{0}^{x}F(t)dt$ and define $g:[0,b] \to \mathbb{R}$ by $g(x)= G(x) -F(x).$
Claim 2: $g$ is not injective on $[0, b].$
Proof of claim 2: Suppose not. Then $g$ is injective and since it is clearly continuous too, $g$ is monotone. WLOG, let $g$ be monotone increasing. Then since $g$ is differentiable, $g'(x) \geq 0 \, \forall \, x \in [0,1].$ If there exists at least one $x$ for which $g'(x) =0$ we are done so assume $g'(x)>0.$ Since $g(0) =0,$ we have $g(x)>0$ for all $x \in (0,b].$ 
Let $x_{0}$ be a point of maximisation for $F.$ Assume $F$ is not identically $0$ or else $f$ is and the problem is trivial. We claim that there exists $c \in (0, b)$ such that $F(c)<0.$ If $x_{0}=0$ or $b$ then $F\leq 0$ so if $F$ is not identically $0$ choose an other point of $(0, b)$ to be $c.$ If $x_{0} \in (0, b)$ then since $g({x}_{0})>0, F(x_{0})< \displaystyle \int_{0}^{x_{0}}F(t)dt \leq x_{0}F(x_{0}).$
If $F(x_{0}) \neq 0$ we get $x_{0} \geq 1,$ a contradiction. Hence $F(x_{0})=0$ and since $F$ is not identically $0$ there exists some $c \in (0, b)$ such that $F(c)<0.$ 
Since $F$ is a continuous function on a closed and bounded interval $[0, b]$, it attains its bounds. In particular $\exists \, d \in [0, b]$ such that $F(d)\leq F(x) \, \forall \, x \in [0,b].$ Clearly $d\neq 0, 1$ or else $F(x) \geq 0 \, \forall x \in [0,b]$ contradicting the fact that $F(c) <0.$ Therefore $d \in (0,b)$ and since it is a point of minimisation, $F'(d) =0.$ Then $F(d)= F(d) -F'(d) =g'(d)>0> F(c)$ contradicting the fact that $d$ is a point of minimisation of $F.$ Therefore our hypothesis that $g$ is injective is false and hence $g$ is not injective and there exists $a, a' \in [0, b]$ with $a \neq a'$ such that $g(a) =g(a').$
Then since $g$ restricted to $[a, a']$ satisfies the conditions for Rolle's Theorem, there exists some $x_0 \in (a,a')$ such that $g'(x_0)=0$ which implies $F(x_0)=F'(x_0)$ from which it follows that $f(x_{0}) = \displaystyle \int_{0}^{x_{0}}f(x)dx$
Note that the proof follows almost identically if we assume $g$ to be monotone decreasing in the proof of the claim.
