Completing an exact sequence This seemingly simple question has puzzled me for a while:
Determine which abelian groups A fit into a short exact sequence 
$$0 \to \mathbb{Z}_{p^m} \to A \to \mathbb{Z}_{p^n} \to 0$$
(This is question 2.1.14 in Hatcher's Algebraic Topology)
First and foremost, I'd like to see an elementary straightforward solution. If there is a more sophisticated solution, I'd be happy to see it as well (one approach we had in mind is to compute the value of Ext, which didn't work quite well).
 A: If A is an abelian group with a cyclic subgroup B and cyclic quotient group C = A / B, then A can be generated by two elements.  In particular, A = Z/rZ × Z/sZ for non-negative integers r dividing s.  If |B| = b and |C| = c, then one must have rs = bc (so that |A| = |B|⋅[A : B]), and b divides s (so that A has a subgroup isomorphic to B).
This already gives you all solutions.  For instance, if b = 8, and c = 16, then you can have (r, s) in { (16,8), (8,16), (4,32), (2,64), (1,128) }.
Take for instance r = 4, s = 32. One has A with generators x and y of orders 4 and 32.  B is the subgroup generated by (x,y4).  In the quotient, C, x has order 4, so y has order 16, and x ≡ y−4 mod B, so C is cyclic, generated by yB, of order 16.
Ext is sort of like the gcd, and this is especially clear for extensions of cyclic groups, where you are just looking for divisors like this.
A: Here is the homological algebra perspective on the problem.
First, let us compute $\operatorname{Ext}^*(Z/p^n,Z/p^m)$.  Abelian groups are the same thing as $\mathbb{Z}-modules, and we have a free resolution
$$0\longrightarrow \mathbb Z \stackrel{p^n}{\longrightarrow} \mathbb{Z} \dashrightarrow \mathbb Z/p^n\longrightarrow 0$$
In general, We can compute $\operatorname{Ext}_R^*(A,B)$ by taking a projective resolution of $A$ and applying the contravariant functor $\hom_R(?,B)$
In our case, if we apply $\hom_{\mathbb Z}(?,\mathbb Z/p^m)$ we get
$$ \mathbb Z/p^m \stackrel{p^n}{\longrightarrow} \mathbb{Z}/p^m $$
where we have used the isomorphism $\hom_{\mathbb Z}(\mathbb Z,M)\cong M$.  Thus $\operatorname{Ext}^1(\mathbb Z/p^n,\mathbb Z/p^m)= (\mathbb{Z}/p^m)/p^n(\mathbb{Z}/p^m)$.
There are now several details that I am going to skip (see a text on homological algebra, such as Weibel or Rotman), but each element of $\operatorname{Ext}^*(Z/p^n,Z/p^m)$ will give rise to a map $\mathbb{Z}\to \mathbb{Z}/p^m$, and every extension will come from taking the pushout of this map with the map $\mathbb Z \stackrel{p^n}{\longrightarrow} \mathbb{Z}$.
Unfortunately, there are a few details that need to be worked out to answer the question fully.  In particular,


*

*What possible maps do we get?  Some maps might not correspond to extensions.

*When do two different maps yield the same extension?

*When do two different extensions yield the same group $A$?


Still, we have a partial answer (which can with a little bit of work be extended to a complete answer) that every $A$ is of the form $\operatorname{coker}(\mathbb{Z}\to\mathbb{Z}\oplus \mathbb{Z}/p^m)$ where the map on the first coordinate is multiplication by $p^n$.  
