For $R$ a PID, are there any ways to prove that a finitely generated $R$-module $M$ is free iff it is torsion-free without the Structure Theorem? 
For $R$ a PID, are there any ways to prove that a finitely generated $R$-module $M$ is free iff it is torsion-free without the Structure Theorem?

The proof I have in a book for the invariant factor decomposition of an $R$-module over a PID $R$ makes the implicit assumption that for any $R$ PID, there is a free $R$-module $F$. I know that $M/M_{tor}$ is indeed a free $R$-module but the fact that $M/M_{tor}$ is free is proved by the fact that $M/M_{tor}$ is torsion-free. Therefore I want to know if there is any way to prove the bottom assumption of this whole line of reasoning: a finitely generated $R$-module $M$ is free iff it is torsion-free. I know the $\Rightarrow$ direction but the converse is elusive.
 A: It all depends on what you mean by "do you need the structure theorem". You clearly don't need its full strength : you only need to know that if $M$ is a finitely generated module over a PID $R$, then $M\simeq M_{tor}\oplus N$ where $N$ is free (and finitely generated, this part is often neglected, but is very important and not obvious). The rest of the structure theorem gives you the structure of $M_{tor}$, and obviously is not needed to see that if $M$ is torsion-free then it is free.
On the other hand, the fact that every torsion-free finitely generated module is free almost trivially implies that part of the theorem : suppose you know that, and let $M$ be any finitely generated module. Define $N = M/M_{tor}$ ; you have the canonical surjection $\pi: M\rightarrow N$. Now $N$ is clearly torsion-free so by our hypothesis it is free. But then you can easily find a section for $\pi$ : take a basis $(e_i)$ for $N$, chose any $m_i\in M$ such that $\pi(m_i) = e_i$ and define $s: N\rightarrow M$ by $s(e_i)=m_i$ (aka : free modules are projective). Then $M = s(N)\oplus M_{tor}$ gives you the decomposition you wanted.
So in conclusion : the equivalence "torsion-free iff free" that you are interested in is immediately equivalent to the "free + torsion" part of the structure theorem, so it doesn't really make sense to wonder if you can prove it independently (also it is clear that you don't need the structure of torsion modules, which is generally proved independently).
