I've read some books and articles on Bitcoin and feel like I've understood many of its concepts but I'm not able to find an answer to a question I've had for a long time:

### How does the Bitcoin network adapt to an increased or decreased number of transactions per time interval?

I know that the network tries to constantly adjust the cryptographic difficulty so that new blocks are mined in 10 minute intervals on average. When the block size is limited, every block can only include a maximum number of transactions.

This means that miners need to prioritize some transactions over others (most likely those that pay the higher fees) when the number of incoming transactions per 10 min interval exceeds this maximum. When the number of incoming transaction decreases over time below this maximum, those unprocessed transactions (those with the lower fees) will be included in the next blocks.

But what happens if, over a longer period of time, the number of incoming transactions per 10 min interval never decreases?

Consequently, this would mean than all transactions with a fee that's not high enough never make it into the blockchain (or at least not for a very long time).

### How does the Bitcoin network solve this problem?

(Surely, with increased adoption, there will be more than a couple hundred or thousand transactions every 10 min?)