The cartesian product of a finite amount of countable sets is countable.
Solution 1:
The phrase 'the union of countable sets is countable' is wrong unless you add the word 'countable' before 'union'.
The zig-zag argument is nothing but a graphical way to describe a bijection between $ {\Bbb N}\times{\Bbb N}$ and $ {\Bbb N}$. You may also give an explicit formula for such a bijection. Using the French notation that $0\in {\Bbb N}$, you may check that
$$ \phi (m,n) = m + \sum_{k=1}^{m+n} k $$ yields such a bijection. The inverse map is the 'zig-zag' path. Having constructed this function we may iterate to solve when taking further products. For example: $$ (m,n,p) \in {\Bbb N}\times{\Bbb N} \times {\Bbb N}\mapsto \phi(\phi(m,n),p) \in {\Bbb N} $$ is a bijection etc...
Update: Some hints for the bijection:
1) Injectivity: Show that if $(m,n) \neq (m',n') \in {\Bbb N} \times {\Bbb N}$ then $$m + \sum_{k=1}^{m+n} k \neq m' + \sum_{k=1}^{m'+n'} k$$ (distinguish the cases when $m+n=m'+n'$ and $m+n \neq m'+n'$)
2) Surjectivity: We have $\phi(0,0)=0$. Suppose $\phi(m,n)=j$. Then if $n>0$ note that $\phi(m+1,n-1)=j+1$, while if $n=0$ then $\phi(0,m+1)=j+1$. Conclude using induction ...