A proof of the Pythagorean Theorem via Similar Triangles

I devised the following proof while I was taking 9th grade geometry in 1991-2 or possibly the following year.

I assume the proof is not novel, but had probably been discovered long before.

Consider the right triangle △ ABC above. CD is an altitude to AB.

Observe that △ CBD is similar to △ ABC.

Since side BC in △ CBD corresponds with side AB in △ ABC, it is (BC / AB) times as big as △ ABC.

Since side BD in △ CBD corresponds with side BC in △ ABC, BD = BC × (BC / AB) = BC² / AB.

Observe that △ ACD is similar to △ ABC.

Since side AC in △ ACD corresponds with side AB in △ ABC, it is (AC / AB) times as big as △ ABC.

Since side AD in △ ACD corresponds with side AC in △ ABC, AD = AC × (AC / AB) = AC² / AB.

Since AB = BD + AD, AB = (BC² / AB) + (AC² / AB).

Multiply both sides by AB to get AB² = BC² + AC².

Substitute to find that c² = a² + b². ∎