Sweden has confirmed that a small foreign submarine illegally entered its waters last month, though it was still unclear which country was behind the intrusion, officials have said.

Prime Minister Stefan Lofven warned on Friday that such incursions into Swedish territory presented "enormous risks" for those involved and that Sweden would defend its borders "with all available means".

The Scandinavian country launched its biggest submarine hunt since the Cold War on October 17 after receiving eyewitness reports of some type of underwater craft in the archipelago that extends from Stockholm into the Baltic Sea.

The search involved battleships, minesweepers and helicopters as well as more than 200 troops.

It called off the search after a week, saying the vessel had probably escaped into the Baltic.

Let me say this, loud and clear, to those who are responsible: It is completely unacceptable. Stefan Lofven, prime minister

Military officials never blamed any country, though most Swedish defence analysts said Russia would be a likely culprit.

"It's impossible ... to confirm any nationality. But we can confirm the fact that it has been there," Supreme Commander Sverker Goranson said at a joint news conference with Lofven and Defence Minister Peter Hultqvist.

Goranson said the military obtained evidence of the intrusion with its own sensors, but declined to give details.

'Totally unacceptable'

Lofven noted that Sweden's coastline was as long as the US East Coast, making it difficult to monitor, but promised to strengthen the country's ability to find and identify intruders.

"Let me say this, loud and clear, to those who are responsible: It is completely unacceptable," Lofven said.

Sweden reported a number of suspected intrusions by Soviet submarines in the 1980s.

In 1981, a Soviet submarine U137 ran aground close to one of Sweden's largest naval bases and was only allowed to leave after a diplomatic standoff.

Apart from that incident and several confirmed visual sightings, Sweden has never produced hard evidence of a Russian submarine in its waters.