I checked the my silver game and found it had a save file already. When I looked at his Pokemon the red gyarados wasn't there but he already has eight badges so I'm guessing that the previous owner of my 3ds killed it. So is there any way I can catch this again? I don't want to have to restart this game because I hate johto
The player has one chance to catch it and the incident triggers the battle against Team Rocket in the Team Rocket HQ in Mahogany Town. When captured or defeated, the red Gyarados drops a Red Scale. While this is the only chance to catch the Red Gyarados in the original games, it will respawn in the remakes after the player defeats Lance and the Elite Four, should the player fail to capture it.
You cannot battle red gyarados again since you needed the red scale to infiltrate Team Rocket HQ, the 8 badges prove that the previous owner already did that.
Source