the best option is to go for a villa if it is for you to live in that to0 though it may take some time to construct (proper finance without any halt in payment in between may take only a year to construct)one instead of buying because when you buy you are atleast paying 30 % extra on the actual cost of the villa so in the end a 3 bedroom villa will cost only somewhat equivalent to what a 2 -3 bedroom flat may cost plus you will have your own privacy with the design and space of the rooms , halls and kitchen as per your wish (dont take into consideration of the value of land buy plot anywhere in the outerskirt of the city because the country is developing fast so soon there will be appericition in the market)

but if you are looking from the investment point of view then you can buy a flat againg due to the ever expanding population and standard of living in india the value of flat will always go up so if you sell the flat after few years you will definetly fetch a huge profit

Note: if you go for constructing a villa hire an trust worthy contractor itself also if you are staying abroad during the time of construction appoint someone in your own family who is very knowledgable to take care and supervise the site while the constructions are going on because even if the engineer is trustworthy and if he is busy with soem other projects also they he may leave it in the hands of his best assistant who occasionally wont mix the concrete properly etc which may result in damages in the buildings like crack on wall , leak etc after nearly 2 years