@HolyRoller.
The value of b doesn't satisfy the converse of the Pythagorean Theorem.
20^2 +(400/21)^2 = (20/21)^2 FALSE
So, I'm thinking b is not 20/21.
For b, the lengths of the corresponding sides of the similar triangles is:
20/21 = b/29 which cranks out a value of b not equal to 20/21.
I did get the same value of a that you attached using a/20 = 20/21.
Yeah, I get the same value of a, and b is as suggested by @geerky42 and @Directrix, and if you plug a, b, and the known side (20) in to the Pythagorean it all fits.