Now I don't know whether D. Gemma & Maria is the correct answer but it seems to work if you follow the following:
If David is 2 years younger than John, looking at the ages 12, 11, 10, 10, 9 there are only 2 pairs with that gap i.e. 12&10 or 11&9. Therefore,
- David must be either 9 or 10 years
- John must be either 11 or 12 years
Similarly, if Gemma is 2 years younger than Jane
- Gemma must be either 9 or 10 years
- Jane must be 11 or 12 years
If David is 9, then John must be 11, Gemma must be 10, Jane 12 which would mean that Maria must be 10, which works as we are told that she is older than David. Therefore, the twins are Gemma & Maria.
If you tried out David being 10 first, John would be 12, Gemma 9, Jane 11 and Maria 10 which doesn't work as she needs to be older than David.
I hope the above ramble makes sense!