As to the foreign ditto, i would say that they work the best as that way you can breed for any shiny you want in the game as lone as you catch it of course. But, another way to go would to be to wonder trade until you got the Pokemon you wanted foreign. This is a bit of a pain in the butt though so, i would go with the ditto. As to how lone it takes, my shortest hunt was 82 eggs for my espurr, my longest was about 500 for evee with nothing so i gave up, however, i then realized that it was worth and started on my mareep, now a shiny mega ampharos, I'm so proud when i send it into battle, because, i know that it took all that work. I would also suggest trying the friend safari, i got a shiny Muk after only 5 random encounters. You just have to have the patience and it develops the more you hunt. Also, a cool little tip, if you want to breed say a shiny furfrou which is black, catch a female furfrou with a luxury ball ( or any ball you want ) , breed it with your ditto, and then you have a shiny furfrou in a luxury ball, all the babies other then that will also be in this ball. Hope i helped.