This is a simple command line program written in Python for calculating probability of hatching an egg with fixed number of perfect IVs.
The mechanism of IV inheritance in Pokemon (up to 7th gen) is quite simple. Parnets can pass 3 or 5 (if one holds destiny knot) of their IVs to the offspring. IVs to be passed are selected randomly, with equal probability, and do not overlap (eg. passing Attack from both parents is impossible).