$ab = ba$ can be written as: $aba^{−1} = b$
$aba^{−1}$ is a conjugate of $b$ and has order $q$. Thus $aba^{−1}$ is a power of $b$.
$aba^{−1} = b^k$ for some integer $k$.
By induction, $a^{m}(ba)^{−m} = b^{{k}^{m}}$ for all $m \geq 1$.
Taking $m = p$ gives $b = b^{k^p}$. $b$ has order $q$, this implies $kp \equiv 1 \mod q$, so $k \mod q$ has order $1$ or $p$ in $(\mathbb{Z}/(q))^\times$, a group of order $q − 1$. If the order is $p$, then $p | (q − 1)$, so $q \equiv 1 \mod p$. But $q\cdot 6\equiv 1 \mod p$ by hypothesis (aha). Thus the order of $k$ in $(\mathbb{Z}/(q))^\times$ is $1$, so $k \equiv 1 \mod q$ and $aba^{−1} = b$
$$aba^{-1}=b\Leftrightarrow aba^{-1}a=ba\Leftrightarrow ab=ba.$$