Afghans “have run out of patience” with foreign troops, the country’s MPs have warned, after a US soldier killed 16 Afghan civilians.

The strongly-worded resolution came as US officials issued an alert, fearing reprisals after the Kandahar rampage. Nine children were among those killed.

Afghan President Hamid Karzai said the act was “unforgivable” and Taliban militants have vowed revenge.

The soldier is being questioned. Nato has promised to deliver justice.

The killings could further fuel calls for a more rapid withdrawal of US troops from Afghanistan.

They come amid already high anti-US sentiment in Afghanistan following the burning of Korans at a Nato base in Kabul last month.

US officials have repeatedly apologised for that incident but they failed to quell a series of protests and attacks that killed at least 30 people and six US troops.

The soldier, believed to be a staff sergeant, is reported to have walked off his base in Kandahar at around 03:00 on Sunday (22:30 GMT Saturday).

In the villages of Alkozai and Najeeban, about 500m (1,640ft) from the base, he reportedly broke into three homes.

At one house in Najeeban, 11 people were found shot dead, and some of their bodies set alight. At least three of the child victims are reported to have been killed by a single shot to the head.

The US military said reports indicated that the soldier returned to his base after the shootings and turned himself in.

His motives are unclear – there is speculation that he might have been drunk or suffered a mental breakdown. Officers are worried that the attack might have been planned.

The detained soldier has not been identified, although US officials quoted by the Associated Press news agency said he was from Joint Base Lewis-McChord in Washington state, 38 years old, married with two children. The reports say he had served three tours in Iraq and was on his first deployment in Afghanistan.

“This is an assassination, an intentional killing of innocent civilians and cannot be forgiven,” Mr Karzai said in his statement.

President Barack Obama phoned him on Sunday to express condolences over the “tragic and shocking” incident.

In its resolution, the lower house of the Afghan parliament said Afghans had “run out of patience with the arbitrary actions of foreign forces”.

“We seriously demand and expect that the government of the United States punish the culprits and try them in a public trial before the people of Afghanistan.”

The call came despite an Afghan agreement with Nato for foreign soldiers to be tried in their own countries.

-BBC