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.

We have $21=x=k(m^2-n^2),\, y=2kmn,\, z=k(m^2+n^2)$ where $m,n, k \in \Bbb N$ with $\gcd (m,n)=1$ and $m,n$ not both odd. 
So  $(m^2-n^2,k)\in \{(1,21),(3,7),(7,3),(21,1)\}.$ Now $m^2-n^2=1$ is impossible, so $(m,n,k)\in \{(2,1,7), (4,3,3),(11,10,1),(5,2,1)\},$ giving $$(x,y,z)\in \{ (21,28,35), (21,72, 75),(21,220, 221),(21, 20, 29)\}.$$ We have $m\leq 11$ because if $m\geq 12$ then $x\geq m^2-n^2\geq m^2-(m-1)^2=2m-1\geq 23>21...$ There are 2 solutions  $(11,10)$ and $(5,2)$ to $m^2-n^2=21.$
