How to use the Pigeonhole Principle to prove a DFA has a minimum number of states? $A = \{w \in \{a, b\}^* | $ 10th character from the end of $w$ is $b\}$
Prove if DFA $M$ has $L(M) = A$ then $M$ has at least 1024 states.

So there's only 2 characters possible at any state, aside from the 10th character, which has to be $b$. Any character after that can be a or b, since we know the 10th character from the end is $b$.
I was told that the Pigeonhole Principle would be used to prove this, as well as contradicting or using the contrapositive was the way to go.
My answer was that if we took a string $w$ with a length of less than the number of states, say 9, then the principle says that a state will have to be repeated. So a string of 10 $b$'s in a row won't reach an accepting state because the path will waste a transition to loop or repeat a state that has been traveled to. Because a string failed when it shouldn't have, that contradicts the language?
I also have a few other reasonings that may work with the Pigeonhole Principle, but I am just wondering if my reasoning makes sense.
http://www.owenstephens.co.uk/blog/2014/09/28/NFA_DFA.html

https://cseweb.ucsd.edu/~ccalabro/essays/fsa.pdf

Evil's link and this other link seem to show how to apply the Pigeonhole Principle to show how to answer my problem. The second one explains it more visually and in a more noob friendly fashion.