Question: what two pokemon can breed?
Answer: Two Pokémon are compatible if they are of the same species (or share at least one Egg Group) and are of opposite genders; alternatively, breeding is usually still possible as long as one of them is Ditto, even if the other parent is genderless, and in fact, genderless Pokémon can breed only with Ditto.