The story
Could is the past tense of can. In Old English it was cūþe, and in Middle English coude or couthe. There was no L in it, because there was never an L in can.
Its neighbours were different. Should (Old English sċolde) and would (Old English wolde) did have a real L, and it was pronounced. The three words are used in the same way and often side by side, so in the early 1500s writers made coude match the other two and gave it an L: could.
The analogy briefly reached the pronunciation too — some early modern speakers may have said the L — but it did not last. Meanwhile should and would lost their real L in speech, probably because these small words are so often unstressed. The result is three words that now look and sound alike, with one invented L and two lost ones.
