Diagonalisation of the generalised Anderson model