get rayquaza
You can catch it when you use dive.
get a hm called dive attach it to a water type pokemon and go on water and use dive.
Dive is not an HM in leafgreen you can't get it unless you trade a Pokemon that knows Dive from ruby or sapphire or emerald but it will not work in leafgreen unless your in battle.
Dive is not an HM in Pokemon firered or leafgreen however if you trade a Pokemon that knows dive from ruby or sapphire or emerald now you have a Pokemon that knows dive But you can't dive underwater in firered or leafgreen because it wasn't invented in the kanto region.
get rayquaza
You have to have a Pokemon in your party which know the HM Dive. Surf onto water then go to your party, select the Pokemon that knows dive, and click on Dive.
You get the abilty to use the move Dive from Tate and Liza in Mossdeep and then you can teach your Pokemon to Dive! X3 POKEMON-1001
to get a heart dive
Use dive.
get a water Pokemon yhe TM dive and well dive under the water
You get Dive from steven not may.
You can get Dive in Pokemon Emerald by going to Mossdeep City and ensure you check all the houses.
you can find dive balls at the mossdeep city pokemart
dive 126_128 routes
mossdeep city dhoom
You can catch it when you use dive.