"Er" is tricky and hard to translate. Here it refers to something previously mentioned, of which the speaker does not have any. "I do not have any (of it)". On the other hand, "Ik heb niets" means "I have nothing", a very different situation.
I'm trying to learn French and they have a similar untranslatable word (en ). It's very frustrating and I feel your pain!
The "er" makes sense here if you think about it from another angle: If you use "een" instead of "geen" it becomes obvious that you need to have something after the "een" in order for the sentence to make sense (e.g. Ik heb een kat, Ik heb een tas, etc.). otherwise it would be "ik heb een", which is obviously incomplete.
"Geen" is the negation of "een", and just like "een" it must be followed by something, and since that something is not specified then we need the "er".
Since "één" and "geen" are very similar like "one" and "none", the rules applying to the usage of "er" with the numbers/numerals are the same. So you say "Ik heb er één". = "I have one" (of whatever you are talking about), and similarly you say "Ik heb er geen". I am not native Dutch so I hope someone can say if I'm right here.
I am confused. "I do not have it!" Why is this wrong? The hint gives "it" as an option. And without any context... I believe there is no way to know if in this case it is "it" or "one"... In both cases, we are talking about an unspecified element. I am pretty sure I am missing something but I can't put my finger on it.
"Ik heb geen..." makes no sense as it is incomplete. "I have no...." What? or "I don't have any..." can work in English occasionally, but I think it is better to put "I don't have any of it." which is now also accepted. In Dutch they use the placeholder "er" to stand for whatever had already been talked about.