Find all natural solutions that satisfy $2^ + 3^ = ^2$ It looks like an easy question but I couldn't find a way to solve it. I found (0,1,2),(3,0,3),(4,2,5) by trial and error and I'm kinda sure they are the only answers but I'm not sure how to prove it.

First, let us solve the equation $3^a = 2^b-1$, where $a, b \in \mathbb{N}$.
For $b = 0$ we have no solutions.
For $b = 1$ we obtain $a = 0$. For $b = 2$ we get $a=1$. If $b \ge 3$ then $2^b-1 \equiv -1(\text{mod } 8)$ and hence we have no other solutions, since $3^a \equiv 1,3(\text{mod } 8)$.
In conclusion, we get the solutions $(a,b) \in \{(0,1), (1,2) \}$.
Now, consider the equation $2^x + 3^y = z^2$, where $x,y,z \in \mathbb{N}$.
If $x = 0$, then $3^y = (z-1)(z+1)$ and hence $z-1 = 3^u$, $z+1 = 3^v$ for $u , v \in \mathbb{N}, u<v$. It follows that $2 = 3^v - 3^u$. Therefore, $u = 0$ and $v = 1$. In this case, we obtain the solution: $(x,y,z)= (0,1,2)$.
If $x=1$, then $2+3^y = z^2$. For $y = 0$ we have no solutions and if $y \ge1$, we have $z^2 \equiv 2(\text{mod } 3)$, which is impossible.
Assume $x \ge 2$. Then $y$ is even. Indeed, for $y$ odd we have $z^2 = 2^x+3^y \equiv 3(\text{mod } 4)$, which is false. So, $y = 2k$, for some $k \in \mathbb{N}$. It follows that $2^x = (z-3^k)(z+3^k)$. Hence $z-3^k = 2^u$ and $z+3^k = 2^v$, for $u , v \in \mathbb{N}, u<v$. Thus,
$$2\cdot 3^k = 2^v - 2^u \implies 3^k = 2^{v-1} - 2^{u-1}$$
It follows that $u-1 = 0$, i.e. $u=1$ and
$$3^k = 2^{v-1}-1$$
We have seen that the only solutions of this equation are $(k, v) \in \{ (0,2), (1,3) \}$.
Consequently, we obtain the other two solutions: $(x,y,z) = (3,0,3)$ and  $(x,y,z) = (4,2,5)$
