The stricken Costa Allegra – which has been stranded at sea for three days – has finally docked in the Seychelles.

The ship ran into difficulties on Monday when a fire in the engine room destroyed the power supply, forcing it to be towed to port.

Passengers have been without air-conditioning or hot food and have been surviving on supplies and essential items being flown in by helicopter.

Many passengers have been sleeping on deck to keep cool, according to news reports.

Costa Allegra is in the same fleet as Costa Concordia, which capsized and sank off the coast of Italy in January with the loss of 32 lives.

More than 1,000 passengers and crew including 31 British citizens are currently being evacuated.

The cruise line said it had secured 400 hotel rooms and 600 flights to ensure the swift repatriation of passengers and crew.

A statement from the line said that more than half the passengers will stay in the Seychelles to continue their holiday while the rest will fly back to Rome.