This is EXTREMELY difficult, mind you. There are other ways (Action Replay) but the way without it is a tretcherous one. Find a place where poliwhirl are, such as Route 225, Route 227, and Route 228. Then use surf on the surface of the water. You will need powerful and fast Pokemon that know either Theif or Covet or both. When you come across a Poliwhirl, use Theif or Covet and it might be holding a Kings Rock. This is EXTREMELY rare, so I hope you have too much time on your hands. It's just like looking for Shiny Pokemon, very difficult. Hope this helps!!!
go to celestic town, go near the cave, turn left.