Finding all positive integers $x,y,z$ that satisfy $3^x - 5^y = z^2$ 
Find all positive integers $x,y,z$ that satisfy:
$$3^x - 5^y = z^2.$$

I think that $(x,y,z)= (2,1,2)$ will be the only solution. But how to prove that?

I will give a brief review to Yiyuan's answer, and then complete the proof. We have:
$$3^x-5^y=z^2$$
Working $\pmod4$, we have $(-1)^x-1\equiv 0,1 \pmod4$, so $x$ has to be even. Substituting $x=2k$ and $y=a+b$:
$$(3^k-z)(3^k+z)=5^y\implies 3^k-z=5^a, 3^k+z=5^b\implies 2\times3^k=5^a+5^b$$
If $a,b\ge1$, then the RHS is a multiple of $5$ but the LHS is not, so WLOG assume $b=0$. Then:
$$2\times3^k=1+5^a$$
There is no solutions with $k=0$ and one with $k=1(x=2,y=1,z=2)$. Assume henceforth that $k\ge 2$.  We then have $-1\equiv 5^a \pmod9$, and since $a=3$ is the smallest solution, we can easily see that every solution is of the form $a=6m+3=3(2m+1)$. Finally
$$2\times3^k=1+5^{3(2m+1)}=(1+5^3)(\cdots)=126(\cdots)$$
But now the RHS is a multiple of $7$. Therefore the only solution is $(x=2,y=1,z=2)$.
