NOT AN ANSWER BUT FOOD FOR THOUGHT.
Alternatively (although not Euclidean Algorithm exactly):
$28$ goes into $45$, $1$ times with $17$ left over so: $1\cdot 28 \equiv -17 \pmod {45}$
$17$ goes into $45$, $2$ times with $11$ left over so: $2\cdot 1\cdot 28 \equiv 2(-17)\equiv -34 \equiv 11 \pmod {45}$
$11$ goes inot $44$, $4$ times with $1$ left over so: $4\cdot 2\cdot 1\cdot 28 \equiv 4\cdot 11 \equiv 44 \equiv -1 \pmod {45}$
So $-4\cdot 2\cdot 1\cdot 28 \equiv 1\pmod 45$
And $-4 \cdot 2 \cdot 1\equiv -8\equiv 37 \equiv 28^{-1} \pmod {45}$.
This differs from the classical Euclidean Algorithm in that the remainder always divides into the original modulus rather than the previous quotient. Has an advantage that you you have a straight product which is easier to calculate than a seriers of sums and products. Not sure why this isn't done more or why I never noticed it before.
... oh, I guess I see the bug....
Consider
$28 \equiv -17 \pmod {45}$
$3\cdot 28 \equiv -51 \equiv -6\pmod {45}$
$21 \cdot 28 \equiv -42 \equiv 3 \pmod {45}$
$(15\cdot 21)\cdot 28 \equiv 45 \equiv 0 \pmod {45}$
And $15\cdot 21 \equiv 45 \cdot 7 \equiv 0\pmod {45}$.
By dividing into the original modulus we make no assurance that the remainders are relatively prime to the original modulus.
We can make a rule that you only multiply be terms relatively prime to the modulus but that defeats the original purpose of EA to find out what is the gcd of terms.
Still as we know $45 = 5\times 3^2$ and $\gcd(28, 45)=1$ this is easy to work. Of course if you have an number lots of factors, say $360$, the the rule, don't multiply by any multiple of $2,3,5$ makes this method impractical.....
Oh, well. I thought it worked so well......