Why are there nine regular polyhedra?

I don't know if what follows can be extended to non-convex polyhedra, but one can show that only five convex polyhedra exist by using Euler's formula.

Let $F$, $V$ and $E$ be the number of faces, vertices and edges in a regular polyhedron. Let every face have $n$ sides ($n\ge3$) and $k$ edges meet at every vertex ($k\ge3$). We have then: $E=nF/2$ and $E=kV/2$. Inserting these into Euler's formula $F+V-E=2$ gives: $$ E={2nk\over 2n+2k-nk}. $$ But this is a positive integer only if the denominator is $\ge1$, which gives: $$ k\le2+{3\over n-2}. $$ For $n=3$ we then get $k\le5$, that is $k=3$, $k=4$ or $k=5$; for $n=4$ we get $k\le7/2$, that is $k=3$; for $n=5$ we get $k\le3$, that is $k=3$. For $n\ge6$ we would have $k<3$, which is not allowed. So we have only the five possible values of $n$ and $k$ listed above.

If some kind of Euler formula also holds for non-convex polyhedra, then one could try to repeat this reasoning even in that case.