Afghan authorities have expressed doubts that the US army sergeant who shot dead 16 civilians in southern Afghanistan and burned their bodies could have acted alone.

The soldier, who has not been named by military authorities, reportedly walked more than a mile from his base and broke into three homes in a Kandahar province village where he opened fire on the occupants. He gathered together 11 of the bodies, including those of four girls under the age of six, and set fire to them, according to villagers' accounts.

At least five other civilians were wounded in the attack. A survivor told the New York Times that more than one solider was involved.

Other villagers described seeing a number of soldiers and a helicopter at the scene, undermining Defence Department claims that the soldier acted alone.

"The initial reporting we have indicates there was one shooter and we have one man in custody," said Lt Col Jimmie Cummings, a Nato spokesman.

He said the suspect was a conventional soldier from Joint Base Lewis-McChord, Washington. He was assigned to support a special operations unit of either Green Berets or Navy Seals who were detailed to "stabilise" a village.

President Barack Obama and defence secretary Leon Panetta called Afghan president Hamid Karzai to apologise for the incident.

"This incident is tragic and shocking, and does not represent the exceptional character of our military and the respect that the United States has for the people of Afghanistan," Obama said.

Panetta pledged to "bring those responsible to justice".

A furious Karzai has demanded a full inquiry.

The killing has sparked further distrust between Washington and Kabul, whose diplomatic relations are stretched to breaking point after the burning of the Koran by American soldiers in Februiary and an earlier video showing American marines urinating on dead Taliban.

The Taliban exploited the idea that more than one soldier may have been involved in the killings of the 16 villagers. They said "sick-minded American savages" committed the "blood-soaked and inhumane crime" in two villages in Panjwai district.

The militant group promised families it would avenge those killed.