Groups of order $p^3$ The following is exercise 8 (section 2.6) in Algebra by Hungerford:

Let $p$ be an odd prime. Prove that there are at most two nonabelian groups of order $p^3$. (One has generators $a,b$ satisying $|a| = p^2; |b|=p;b^{-1}ab = a^{1+p}$ and the other has generators $a,b,c$ satisfying $|a|=|b| = |c|= p;c = a^{-1}b^{-1}ab;ca=ac;cb=bc$)

I realize that there are many links online classifying groups of order $p^3$. However, most of the solutions I have seen have required several pages of work.  Since this is just an exercise, I suspect there is a shorter solution. I have come up with the following:
We know that $Z(G) = p$ because $G$ is a $p$-group and if $|Z(G)| = p^2$ or $p^3$, then $G/Z(G)$ would be cyclic. Thus, $G$ would be abelian, contrary to hypothesis. So, let $c$ be a generator for $Z(G)$. Consider the quotient group $G/Z(G)$ which has order $p^2$. Hence, $G/Z(G) \cong \mathbb{Z}_p \times \mathbb{Z}_p$. Let $\overline{a},\overline{b}$ be generators for $G/Z(G)$ (the overlines denote passage to the quotient). Now, this means that every element in $G$ can be written as $a^ib^jc^k$ for $i,j,k \in \mathbb{Z}$. Since $c \in Z(G)$ we cannot have that $a,b$ commute (this is important later). 
Notice that $\overline{a},\overline{b}$ both have order $p$ in $G/Z(G)$. Thus, $a^p,b^p \in Z(G)$. We consider cases of $a^p$ and $b^p$.
Case 1: both $a^p = b^p = 1$
Then, since $G/Z(G)$ is abelian, the commutator subgroup, $G'$, is contained in $Z(G)$ so that $|G'| = 1 $ or $p$. But, $|G'| = 1$ implies $G$ is abelian, contrary to hypothesis. So, $|G'| = p$ and consequently $G' = Z(G)$. Thus, since $a,b$ do not commute, $a^{-1}b^{-1}ab$ is nontrivial and $Z(G) = \langle a^{-1}b^{-1}ab\rangle$ (this is by the previous exercise where we showed that the commutator subgroup is generated by elements of this form). Thus, by possibly switching generators for $Z(G)$ this group satisfies the second pair of generators and relations in the question.
Case 2: $a^p \neq 1$ and $b^p = 1$ (or vice versa)
In this case $a^p$ is a nontrivial element in $Z(G)$ and since $Z(G)$ is cyclic of order $p$, $c = a^p$ and so $|a| = p^2$. This gives rise to the first pair of generators and relations.
It is here where I am stuck. These should be the only two, but I have not found a reason why we cannot have $a^p \neq 1$ and $b^p \neq 1$. How can I guarantee that this case does not occur (or gives one of the two cases above)? I assume this has something to do with the oddness of $p$, as I have not used this anywhere in the argument. Moreoever, any other suggestions or corrections on the current work would be greatly appreciated. 
Thank You 
 A: As @Arturo Magidin suggests in a comment, you only need to tweak your generators.
For suppose $a$ and $b$ have order $p^2$; then by taking suitable powers we can assume $a^p=c$, $b^p=c^{-1}$ where $c$ is a generator of the centre.
Now use the magic fact: as the derived group is central we have 
$$a^n b^n=(ab)^n [b,a]^{n\choose 2}$$.
(See https://en.wikipedia.org/wiki/Commutator).
Now take $n=p$, an odd prime, so that $p$ divides $p\choose 2$: we will get
$$c c^{-1}=(ab)^p$$ and so can replace the generators $a,b$ by new generators $a,ab$ of orders $p^2, p$. 
A: Case 2
Suppose $G$ has an element $a$ of order $p^2$. This case seems to require a certain minimum of cabalistic manipulation, I have not encountered a way of deriving the required result without a bit of slog. The following account still leaves a little arithmetic to be verified by the reader.
let $A = \langle a \rangle$. then $Z \subset A$ since $x \not \in \langle a\rangle \implies \langle a,x\rangle = G$ and G is non-abelian. so $Z =  \langle a^p\rangle$.
continue with $x$ representing an element in $G \setminus A$, and use an overbar to indicate images in the factor group $G/Z$.
since $\bar G$ is abelian the inner automorphism of $\bar A$ corresponding to $\bar x$ is trivial. i.e. $\bar x^{-1} \bar a \bar x = \bar a$.
the pre-image of this relationship in $G$ is $(xa^{mp})^{-1}a^{np+1}xa^{mp} = a^{n'p+1}$ for some $m,n,n' \in [1,p) \cap \mathbb{N}$. As $\langle a^p\rangle = Z$ this simplifies to:
$$
x^{-1}ax = a^{jp + 1} \tag{1}
$$
where $j=n'-n$.
now (1), together with $a^{p^2}=1$ implies that:
$$
x^{-k}ax^k= a^{(jp+1)^k} = a^{kjp+1}
$$
for some $k$ we have $kj \equiv 1 \pmod{p}$, so set $b_1 = x^k$
now we have $b_1^{-1}ab_1 = a^{p+1}$
it follows that:
$$
b_1^{-p}ab_1^p =a \tag{2}
$$
 construction of the other generator, forcing |b|= $p$
from (2) $b_1^p$ commutes with $a$ hence $b_1^p = a^k$ for some $k$. but now raising this to the power $p$ gives $1=a^{kp}$ so that $k$ is a multiple of $p$, say $k=hp$. 
suppose $b_1$ has order $p^2$ with $b_1^p = a^{hp}$ define $b = b_1a^{-h}$. Since $a^jb_1 = b_1a^{j(p+1)}$ we may write $a^{-h}b_1 = b_1a^{-h(p+1)}$ hence:
$$
b^p = (b_1a^{-h})^p = b_1^pa^{-h\sum_{s=0}^{p-1} (p+1)^s}=b_1^pa^{-hp} = 1 \tag{2}
$$
so $G = \langle a,b\rangle$, $|a|=p^2$, $|b|=p$, $b^{-1}ab = a^{p+1}$.
the last equality in (2) follows from:
$$
\sum_{s=0}^{p-1} (p+1)^s = \frac{(p+1)^p - 1}{p} \equiv p \pmod{p^2}
$$
