Also another problem is that you can't effectively check if the combination is correct. You need to derive the master public key, then you have to generate first account, then you have to generate first address, then you need to check it's transaction history. And still you might have missed a correct combination if the first address is unused for some reason (i.e. the user is deliberately avoiding the first address of first account because of this theoretical possibility of attack).