David Cameron has refused to countenance the possibility the Conservatives will not win a majority at the general election and says the party is fighting to gain 23 more MPs.

As campaigning entered its final day, Cameron said he was hopeful the Tories could defy the polls and win enough seats to command the House of Commons.

"I'm still fighting for a majority," he told BBC Radio 4, adding the alternative was "a weak Labour government propped up by the SNP".

Pushed on the arithmetics of how many more seats the Tories would have to win to form a legitimate government, the party leader said he would "always put the country first and always do what I can to provide that strong and stable government."

Cameron's appearance on the Today programme came after reports emerged that the Tories were prepared to rule as a minority government if they won the most seats at the election.

The Telegraph reported Cameron would attempt to push through a Queen's Speech without entering into a power sharing deal.

Asked about welfare reform and the £12bn cuts planned for the department, Cameron said the figure was "half what we saved in the last parliament".

He added it was "important to reform welfare and get people back to work" so that people would "always be better off at work".

He said the Conservatives would freeze work-related benefits, stop foreign workers from sending child benefits back to their home country and that universal credit was a "massive change" to the benefit system.

On the European Union, Cameron said he wanted Brussels to make treaty changes before he put Britain's membership to a referendum in 2017.

"Let's trust the people on the EU. People have not had a say [on the EU] since 1975," he said.

"My fear is that if we stick our head in the sand... we will drift towards the exit and that's not the right answer for Britain."