I don't know if you'd be interested in it but these links explain how you can breed for perfect IV'ed pokemon based on your ID and SID (secret ID):
but, if you find that too difficult then you can just breed the old fashioned way by putting two parents in the daycare center, one male and one female or ditto who can breed with almost any poke excluding legends. Basically IV breeding works like a pyramid, you work your way from the bottom(terrible IV'ed pokemon) to the top(nearly perfect IV'ed pokemon) like this:
Starting out with not that great of pokemon usually one or two 31's:
Parent 1: x/31/x/x/x/x
Parent 2: x/x/31/31/x/x
IVs are chosen from both parents at random and then another IV is chosen at random from one of the parents to be passed from the baby and then... well to be quite honest I can't explain it all too well, I know that there is an article to this somewhere but, I couldn't find it sorry, hope I helped in some way.
Edit:
Found this little section that should help explain to you how IVs are generated:
IV Generation For Eggs
For a general guide to breeding, it is suggested that you read
X-Act and Peterko's Guide on the subject. For those interested in the nitty-gritty details of how RNG results determine the IVs of bred Pokémon, read on.
The IVs of an egg are determined the instant you speak to the Daycare Man and are created by eight calls to the RNG.
The first two calls are used to generate a baseline set of IVs. This mechanic is covered extremely well in
X-Act's PID and IV creation article, but is quickly summarized here for completeness' sake.
Call 1 is used to generate the Defense, Attack, and Hit Points. These are stored internally as a single 16-bit value and the mask below can be used to extract the individual IVs. The high bit is unused and may be disregarded.
X|XXXXX|XXXXX|XXXXX
X|DEF
XX|ATK
XX.|HP
XXX
Call 2 is used to generate the Special Defense, Special Attack, and Speed. These are stored internally as a single 16-bit value and the mask below can be used to extract the individual IVs. The high bit is unused and may be disregarded.
X|XXXXX|XXXXX|XXXXX
X|SPD
XX|SPA
..X|SPE
XXX
The next three calls determine which IVs are inherited. These inherited IVs overwrite up to three of the baseline IVs that were created above.
Call 3 (or s[3] in the formula below) is used to determine the first IV to be inherited.
s[3] is divided by 6 and the remainder taken (Inh1 = s[3] % 6). This result is used with the table below to determine which IV is overwritten.
If Inh1 = 0, then HP is inherited
If Inh1 = 1, then Attack is inherited
If Inh1 = 2, then Defense is inherited
If Inh1 = 3, then Speed is inherited
If Inh1 = 4, then Special Attack is inherited
If Inh1 = 5, then Special Defense is inherited
Call 4 (or s[4] in the formula below) is used to determine the second IV to be inherited.
s[4] is divided by 5 and the remainder taken (Inh2 = s[4] % 5). This result is used with the table below to determine which IV is overwritten.
If Inh2 = 0, then Attack is inherited
If Inh2 = 1, then Defense is inherited
If Inh2 = 2, then Speed is iInherited
If Inh2 = 3, then Special Attack is inherited
If Inh2 = 4, then Special Defense is Inherited
Call 5 (or s[5] in the formula below) is used to determine the third IV to be inherited.
s[5] is divided by 4 and the remainder taken (Inh3 = s[5] % 4). This result is used with the table below to determine which IV is overwritten.
If Inh3 = 0, then Attack is Inherited
If Inh3 = 1, then Speed is Inherited
If Inh3 = 2, then Special Attack is Inherited
If Inh3 = 3, then Special Defense is Inherited
The final three calls determine which parent IVs are inherited from.
Call 6 (or s[6] in the formula below) is used to determine which parent will contribute the IV that was determined by call 3.
s[6] is divided by 2 and the remainder taken (Parent1 = s[6] % 2).
If Parent1 = 0, then the IV from the parent in slot 1 is taken.
If Parent1 = 1, then the IV from the parent in slot 2 is taken.
Call 7 (or s[7] in the formula below) is used to determine which parent will contribute the IV that was determined by call 4.
s[7] is divided by 2 and the remainder taken (Parent2 = s[7] % 2).
If Parent2 = 0, then the IV from the parent in slot 1 is taken.
If Parent2 = 1, then the IV from the parent in slot 2 is taken.
Call 8 (or s[8] in the formula below) is used to determine which parent will contribute the IV that was determined by call 5.
s[8] is divided by 2 and the remainder taken (Parent3 = s[8] % 2).
If Parent3 = 0, then the IV from the parent in slot 1 is taken.
If Parent3 = 1, then the IV from the parent in slot 2 is taken.