
LONDON - The Deputy Prime Minister , John Prescott has come down heavily on the cost of buying houses in Britain and said that unless people were already on the real estate market , they would find it tough to buy a decent house in the country . He was speaking on the occasion of announcing the nine winners who had won the right to submit designs to build his £ 60,000 homes . The Deputy Prime Minister chose nine building consortiums to build the two-bedroom developments , which are touted as the most affordable houses for first-time buyers . " I think everybody thinks they are too high , unless you have bought one , and that 's one of the problems of this present stage , " Mr . Prescott said about the cost of homes in Britain . The £ 60,000 home project is going to build around a thousand ultra-cheap homes " made from timber , steel , glass and brick and guaranteed to last 100 years . " Asked as to what he considered as the ideal price for a home Prescott replied , " I would love to sell a £ 60,000 house . Would n't you like to buy one at £ 60,000 ? " Dismissing criticism , especially from the Tories about the project , Mr . Prescott challenged , " Unless you have some other arrangement , and we have shown a way forward . But I generally recognize , unless we lift the amount of houses in supply , we are not likely to reduce greatly that increase in prices in housing , which even now is two or three times people 's yearly earnings . " The Conservative spokeswoman Caroline Spelman said that the £ 60,000 was from construction alone and that there would be more costs afterward . " The grim reality is that the homes are in less than desirable locations - such as next door to mines , prisons and landfill - and are all on contaminated land . The sale prices will be six-figure sums each , and only a mere 300 homes will be affordable , " she said . However , Mr . Prescott appeared surprised by these allegations and said , " The pressure was on me to build more and more on brownfield sites . And we have now reached a record level of 70 % . " The nine finalists announced by John Prescott will now have to submit their designs and one among them will be chosen to build the homes . Posted on : Wed , 10 Aug 2005 14:05 GMT | Mortgages News By : Paula Jenkins 