I gave up on trying to remember increasingly complex passwords and just remembered how to make them. Computers are great at doing complex math humans aren't. Humans can remember some things very easily (Correct Horse Battery Staple).
Then I only have to remember or write down 3 things: The 'password', the length and the mapping.
echo -n $password+$user+$website | sha256 | cut -c1-$length | [mapping]
Where mapping maps the hex codes to a-z, a-Z, a-Z0-9, a-Z0-9!-). (You can make up your own charset and just use mod(charset length)).
For example if my password was 'qwerty' I'd salt it such that my actual slashdot password would be:
echo -n qwerty+0100010001010011+slashdot.org | sha256 | cut -c1-20
It's not that much harder to implement in Python for use on Windows. (I just have a simple GUI).
If you want to take it a step further just remember a pattern and then a start letter. qwerty, asdfgh and zxcvbn are the same 'password' in my brain. It's "Password 1, start q, a, or z'.
I have everything written down on how to generate the passwords in a lock box and my wife knows my 'password'. So if I die and everything is locked she could get into any website she wanted just by following the instructions.
All of our joint accounts do actually use our anniversary. Jan 1, 1980. 01Jan1980, etc are all going to generate different end passwords. You have to know both the date and the formatting, which she does.
Stop remembering passwords and start remembering how to get to your password.