I am working on a problem of the form $$-(pu')'+qu=f,$$ $$u(0)=u(1)=0$$ where $p>0$ is $C^1$, $q\geq 0$ is continuous and $f\in L^2$. Using Lax-Milgram's theorem, I have been able to prove that the problem has a solution on the Sobolev space $H_0^1$: the above-mentioned theorem guarantees that there exists a unique $u\in H_0^1$ such that $$\int pu'v' + \int quv = \int fv$$ for all $v\in H^1_0$ from where we deduce that $-(pu')'+qu=f$ in $H^1_0$.
Now my question is: how do I prove that if $f$ is continuous, then $u\in C^2$? What I know is that since $pu'\in H^1$ then also $u'\in H^1$, hence $u\in H^2$ which can be injected in $C^1$... Thank you very much!
EDIT:
I tried the following approach now. Let $u\in H^1_0$ be a solution of the problem. Then $(pu')'=qu-f\in H^1$, so $pu'\in H^2$. Consequently, $u'\in H^2$ and so $u\in H^3\subseteq C^2$, proving the claim.
New question. If it is correct, where does this proof use continuity of $f$? Can I say $qu-f\in H^1$?