They can't be bought. You can find them underwater, or attached to wild pokemon. Chinchou have yellow shards, Clamperl have blue shards, Relicanth have green shards and Corsola have red shards.
Catch Clamperl, Chinchou and Relicanth most of these Pokemon hold shards
they come from the clamperl
Use the move dive to go underwater to find shards in the seaweed.
Blue shards are found underneath the water while diving.
Red shards are found underwater.
Green shards are found underneath the water (or in the sand on islands) while diving.
You cannot buy but you can teach your pokemon new moves in exchange of shards.
You can trade them for evolution stones eg. yellow shard = thunderstone
You can buy Pokemon Ruby on eBay or Craigslist.
dork...
you give a guy a certain amount of shards and he will trade it to u
If you have shards, trade them with the treasure hunter on Route 124.