This is exercise II.9.16 from Aluffi's Algebra: Chapter 0.
Before tackling this theorem, I have proved (rather loosely because I don't know much about graph theory) that the Cayley diagram of a free group is free, and that groups acts freely on a tree iff it is a free group. According to the book, with these in mind, we are ready to prove the theorem.
The very first idea that I thought of is to prove that subgroups of a free group act freely on a tree. How can this be done with minimum use of knowledge of graph theory?
Any hints, solutions or reference of other sources is appreciated.
You already know that a group is free iff it acts freely on a tree. Let $G$ be a free group and $H$ be a subgroup of $G$. Then there is a tree on which $G$ acts freely. This action induces an action of $H$ on the same tree. It is easy to check that this action is also free. Since $H$ acts freely on a tree, $H$ is free.