If you have $400, then get a 6970 or a GTX 570. They both check in between $350 and $370 and are better than the other options you've listed.
6950 is more cost effective than the 6970 is. You can try to unlock it to a 6970 as they are the same chip, just a different BIOS. Then, for the price, a 570 is the better option than the 6970 is.
I would say go for a 6950 and try to get it to a 6970. If it fails, you still have a hell of a card that will plow through any game with ease. If it does work, you will be able to get a much more expensive card, but have paid less for it, and have the extra power that it brings.
If you want to go green, the 570 is still a hell of a card, and cost/performance wise, a great option
I checked out with the dealer and he said that 6950 is out of my budget when calculated in Rupees. How good is GTX 560/480 vs 6870/6850.
Yea that is the card I am looking for. What Nvidia card do you think is worth under 200?http://www.microcenter.com/single_product_results.phtml?product_id=0354216
Personally I LOVE Nvidia. But this card will give you the best bang for $200.
I think I'd get a 460 over a 6850. They're both real good, but the GTX 460 overclocks so well that it's not uncommon to see them trade blows with a 6870.
is it easy to overclock GTX 460, I haven't overclocked GPUs and CPUs
Overclocking a GPU is much easier than a CPU. Just download an overclocking program (I use MSI Afterburner, but there are a bunch of other options.) and move the sliders for your memory and core clock up. You obviously can't do too much too fast, but do small increments and stress test with a program like OCCT to check for errors. If it gives errors after an increase, back your overclock down ~5mhz and test again, it should be stable. I'd also recommend doing one at a time (Get your core as high as it'll go, then once you've found your wall there, then do the memory.) because it's easier to find the instability.