For language $L = \{a^m\, b^n\: |\: m \:\%\: n = 0 \}$, that is, $m$ is a multiple of $n$, I'm trying to find a proof that it isn't a context free. I know it isn't regular, but it also doesn't seem to be context-free to me. However, I am not sure how I would go about proving that it isn't context-free. My quick attempt follows:
First, assume to contrary that $L$ is context-free. Let $p$ be the guaranteed pumping length. Choose string $s\,=\,a^{\,p+1}\,b^{\,p+1}$, where $s\,\in\,L$. By the pumping lemma, we can write $s$ as $s\,=\,uxwvy$.
If $vx$ contains either $a's$ or $b's$, then $uv^2wx^2y\:\not\in\:L$.
If $vx$ contains both $a's$ and $b's$, then $uv^2wx^2y\:\not\in\:L$.
Therefore, we have a contradiction and $L$ cannot be context-free.
However, I don't believe I have the proof completely right, and I would like an elaboration how this proof could be better presented.
EDIT: Is this language context-free? Why or why not?