The body of a German hostage who was beheaded by Islamic militants has been found, the Philippine government has said. 

The Abu Sayyaf, a kidnap-for-ransom network that has pledged allegiance to the Islamic State group, murdered Jurgen Kantner, 70, last week after its demands for 30 million pesos (€565,000) were not met. 

Military officials said marines found Mr Kantner's body yesterday evening in the militants' remote southern island stronghold of Sulu.

Troops have clashed with the Abu Sayyaf in recent days, leaving 29 soldiers injured and 14 militants dead, according to the military which says it has been unable to recover the bodies of dead guerrillas.

Colonel Cirilito Sobejana, head of an anti-terror task force in the southern islands, said his government was arranging with the German embassy to repatriate Mr Kantner's body for burial.

Mr Kantner's yacht, the Rockall, was found drifting on 7 November off the southern Philippines with the body of his female companion, Sabine Merz, who had been shot.

The Abu Sayyaf claimed the kidnapping.

Mr Kantner's remains are in a military hospital morgue in Sulu while officials prepare documentation for transporting the body, authorities said.

President Rodrigo Duterte has apologised for failing to save Mr Kantner and said the military had stepped up operations against the militants.

The Abu Sayyaf, established with seed money from Osama bin Laden's Al-Qaeda network, has been kidnapping foreigners and locals for decades and holding them for ransom.

It is believed to still hold at least 19 foreigners and six Filipino hostages.