I think most of the final stage Pokemon and those that don't evolve can learn hyperbeam.
its either hyperbeam or heatwave
I'd say Dragonite, just my opinion. He/she's a Dragon/flying type Pokemon. This Pokemon can learn Outrage which is a dragon type move that can go 2-5 times, just using the move once! He/she can use Fly, which can get away from foes, and it can learn super-strong moves, such as HyperBeam, and IceBeam, etc.. My Dragonite is at lv. 100, as strong as it can be. Get a Dratini, or a Dragonair at the Safari Zone.
make your grass type learn other moves
Squirtle learns the normal Pokemon diamond moveset and you can find out what that is on bulbapedia (type it into Google).
The best Pokemon to have in Pokemon diamond is Arceus because he has the best stats in Pokemon diamond. Answer 2 Marowak and Latios are better. Answer 3 Dragonite would have to be the best! It has great stats, is immune to a lot of types and can learn many moves like fire-type moves to deal with super effective ice-types.
There are 22 flying-type Pokemon.
Riolu is a Fighting type pokemon.
electric type pokemon
Type into google Pokemon diamond cheats and it should help you out from there
in Pokemon diamond they are -aaron - bug type - bertha - ground type - flint - fire type - lucian - psychic type
Remoraid is a pokemon(water type)
You type numbers in