For this method you will need two Game Boy devices, a trading cable, a first gen game (Red/Blue/Green/Yellow) with access to Route 23’s grassy area (Pokémon Mansion for Yellow players), and a second gen game (Gold/Silver/Crystal) with the shiny Gyarados.
Transfer your shiny Gyarados to gen one and go to the Celadon Department Store. You’ll need to go up to the 5th floor and buy a Poké Doll. Next you’ll go to Saffron City to the house in the upper left side of the map. Go to the second floor of the home and give to Poké Doll to the girl in exchange for the ability Mimic. You’ll need to teach this to Gyarados for the next part.
Take your shiny Gyarados up Route 23 until you hit those patches of grass where I think Ditto have the highest spawn rate for the effort of this catch. Make sure that you take Gyarados into battle first as you’ll need to perform Mimic before Ditto uses Transform. This is essential as you need Ditto to transform into a Gyarados with Transform. Once Ditto has transformed into Gyarados twice, his stats will match those of your shiny Gyarados and it’s time start throwing pokéballs.
Transfer Gyarados and Ditto back to your gen two games to see them both in their shiny goodness! Additionally you can breed with this Ditto for higher chances of hatching shiny pokemon! Enjoy!