Find all Pythagorean triples $x^2+y^2=z^2$ where $x=21$ Consider the following theorem:

If $(x,y,z)$ are the lengths of a Primitive Pythagorean triangle, then  $$x = r^2-s^2$$ $$y = 2rs$$ $$z = r^2+z^2$$ where $\gcd(r,s) = 1$ and $r,s$ are of opposite
  parity.

According to the previous theorem,My try is the following:
since $x = r^2-s^2$, $x$ is difference of two squares implying that $x \equiv 0 \pmod 4$. But $x=21 \not \equiv 0 \pmod 4$. Hence, there are no triangles having such $x$.
Is that right?
Added:
My argument is false here. Please refer to the appropriate answer.

Recall that 
$$3^2+4^2=5^2 \implies (3\cdot 7)^2+(4\cdot 7)^2=(5\cdot 7)^2$$
and note that
$$(21, 220, 221)$$
is a primitive triple.
Your criterion doesn't works because the remainder of squares $\pmod 4$ are $0,1$ therefore we can't comclude that
$$z^2-y^2\equiv 0 \pmod 4$$
What we need to solve is
$$21^2=441=3^2\cdot 7^2=(z+y)(z-y)$$
that is we need to try with


*

*$z-y=1 \quad z+y=441\implies (x,y,z)=(21,200,221)$

*$z-y=3 \quad z+y=147\implies (x,y,z)=(21,72,75)$

*$z-y=7 \quad z+y=63\implies (x,y,z)=(21,28,35)$

*$z-y=9 \quad z+y=49\implies (x,y,z)=(21,20,29)$
