I started subtracting row n-1 from row n, row n-2 from row n-1 and so on. But this gives me a matrix with a bidiagonal part (if that's the correct term, probably not!) under the first row. This looks needlessly complicated, and I don't know how to go from there. Maybe I did it the wrong way..

The case a=1 tells you in that case that the Kernel has dimension n-1 (only one free direction given by column vector with only 1 in it). So that you now that the determinant has to include (a-1)^(n-1). You just miss the last direction information but it is easily given if you notice that the column vector 1 is sent into itself provinding the factor (a+n-1)

Another way of saying the same : diagonalise it ! to do so in a smart way : compute the square of the matrix, and you will see it can be expressed as a combination of the same matrix and the identity. This equation provides you a polynom that cancels the matrix. All the eigenvalues are roots of this polynom and the determinant is the product of them (with their actual multiplicity i.e. you will find n-1 times (a-1))

I doubt the OP cares since this thread is 5 years old, but another simple way to do it is to add columns 2,3,...,n to column 1 and then subtract row 1 from every other row. This results in a triangular matrix.