When you approach problems such as yours in the first few times, it is worth being as explicit as possible about all the objects involved and axioms used. In particular, note that a vector space has a zero vector (which I'll denote by $0_V \in V$) and a field has the zero scalar (which I'll denote by $0_V \in \mathbb{F}$) and they are distinct objects.
You are asked to show that if $av = 0_V$ (this is the only possible interpretation, since $a$ is a scalar and $v \in V$ is a vector) then either $a = 0_{\mathbb{F}}$ or $v = 0_V$ (or maybe both).
Using this distinction, let us write your argument:
$$ av = 0_V = a \cdot 0_V = a (v - v) = av + a(-v) = av + a((-1)_{\mathbb{F}}\cdot v) = av + (-a)v. $$
By substracting $av$ from both sides we get
$$ (-a)v = 0_V $$
but you now reached pretty much the initial point, with $-a$ replaced by $a$.
Let's try a different approach. Assume that $av = 0_V$ and $a \neq 0_{\mathbb{F}}$ (otherwise, we are done). Then we can multiply both sides of $av = 0_V$ by $a^{-1}$ and obtain
$$ a^{-1}(av) = (a^{-1}a)v = (1_{\mathbb{F}})v = v = a^{-1} \cdot 0_V = a^{-1}(0_V + 0_V) = a^{-1}0_V + a^{-1}0_V. $$
In particular, we have $a^{-1} \cdot 0_V = a^{-1} \cdot 0_V + a^{-1} \cdot 0_V$ so we can subtract $a^{-1}0_V$ from both sides of the equality and get
$a^{-1}0_V = 0_V$ which then implies that $v = 0_V$ as required.