Your solution is correct but it hides the whole geometrical aspect of the multiplication of complex numbers. I propose here to add some "geometrical comments" over your calculus.
Let $z=a+ib \neq 0$.
Let us recall several well-known things:
there is one and only one direct similarity of Euclidean $\mathbb{R}^2$ which transforms $(1,0)$ into $z$: it is the similarity whose matrix in the canonical base of $\mathbb{R}^2$ is $\begin{bmatrix} a & -b \\ b & a \end{bmatrix}$.
Let $z'=c+id$. $zz'$ is the image of $(1,0)$ by $\begin{bmatrix} a & -b \\ b & a \end{bmatrix}.\begin{bmatrix} c & -d \\ d & c \end{bmatrix}$
which justifies the definition $(a+ib).(c+id):=
(ac-bd)+i(bc+ad)$.
Let $\begin{bmatrix} a' & -b' \\ b' & a' \end{bmatrix}$the similarity associated with $z^{-1}$:
$z.z^{-1}=1$ is expressed as $\begin{bmatrix} a & -b \\ b & a \end{bmatrix}.\begin{bmatrix} a' & -b' \\ b' & a' \end{bmatrix}=\begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}$
$z$ is associated with an angle $\theta$ similarity; $z^{-1}$ with an angle $-\theta$ similarity, which thus transforms $(1,0)$ into a vector collinear with $\bar{z}=a-ib$.
Then :
$$\begin{bmatrix} a & -b \\ b & a \end{bmatrix}.\begin{bmatrix} a & b \\ -b & a \end{bmatrix}=\begin{bmatrix} a^2+b^2 & 0 \\ 0 & a^2+b^2 \end{bmatrix}$$
The unique similarity that transforms z=(a,b) into (1,0) is $\frac{1}{a^2+b^2}\begin{bmatrix} a & b \\ -b & a \end{bmatrix}$,
otherwise written $\frac1z=z^{-1}=\frac{a}{a^2+b^2}-\frac{b}{a^2+b^2}i.$
In conclusion: the real number and the complex number are the two essential tools of Analysis; it is important to have in mind the interpretation of $|z|,\bar{z},\frac1z,zz'$.