Have you tried drugs? Seriously, even something as basic as making sure you have a minimum amount of caffeine each day (pills are cheap and don't ruin your teeth) can make all the difference, much better than reading and trying to apply the latest in Motivational Techniques or Learning to Learn or plain inspirational writing/shows/music/games. Other drugs like modafinil (http://www.gwern.net/Modafinil) have their benefits too, or melatonin supplements if you need help getting to sleep. Talk to a psychiatrist to see if you need such things yadda yadda, I don't think you'd be all that receptive to "therapy" as a solution but could be wrong. I only mention drugs because your posts reminds me of myself as well as a former close friend. I won't say drugs like caffeine are solely why I'm in a cushy software job and he's doing dishwashing or something (last I got in touch he seemed to have found a happy place in life though) but when we were close we were both chronic procrastinators, I sacrificed a lot of sleep and just managed to finish more things and doing that has a way of compounding your ability to finish more things later (even if much slower than your 'ideal self' that is fully focused all the time).
Another strategy is to study with another person, in person. It can be hard to apply if you're relatively antisocial though, or worry too much about bruising your ego by exposing ignorance. If it helps study with a person you think is 'dumber', like you're doing them a favor, though really it's for yourself, and if nothing else you might be surprised they're not so dumb.
Last thing, learn shortcuts, embrace laziness (one of the Three Virtues of Programming), and automate. Learn some math software. In your example of solving three simultaneous equations, every time I had to do that I would do it with my TI-89 calculator. And not always the same way! But usually I used a slightly different (and imo simpler when not done by hand) matrix method. For 3 equations, get them all in the form of Ax+By+Cz=D, construct a 3x4 matrix with each row containing [Ai Bi Ci Di], and compute the row reduced echelon form to leave you with a diagonal of 1s in the first 3 columns telling you x/y/z correspond to the rows in the fourth column. With the calculator, it's as easy as typing rref([A1,B1,C1,D1; A2,B2,C2,D2; A3,B3,C3,D3]) Nowadays I'd probably just use Octave, which is the same syntax except without the commas. Similarly one course in my program had a section with lots of problems involving partial fractions expansion to help compute an inverse laplace transform. I'd just let my computers do the inverse transform directly, or at least do the partial fraction for me, since doing that crap by hand is tedious and of little value.
Another strategy is to study with another person, in person. It can be hard to apply if you're relatively antisocial though, or worry too much about bruising your ego by exposing ignorance. If it helps study with a person you think is 'dumber', like you're doing them a favor, though really it's for yourself, and if nothing else you might be surprised they're not so dumb.
Last thing, learn shortcuts, embrace laziness (one of the Three Virtues of Programming), and automate. Learn some math software. In your example of solving three simultaneous equations, every time I had to do that I would do it with my TI-89 calculator. And not always the same way! But usually I used a slightly different (and imo simpler when not done by hand) matrix method. For 3 equations, get them all in the form of Ax+By+Cz=D, construct a 3x4 matrix with each row containing [Ai Bi Ci Di], and compute the row reduced echelon form to leave you with a diagonal of 1s in the first 3 columns telling you x/y/z correspond to the rows in the fourth column. With the calculator, it's as easy as typing rref([A1,B1,C1,D1; A2,B2,C2,D2; A3,B3,C3,D3]) Nowadays I'd probably just use Octave, which is the same syntax except without the commas. Similarly one course in my program had a section with lots of problems involving partial fractions expansion to help compute an inverse laplace transform. I'd just let my computers do the inverse transform directly, or at least do the partial fraction for me, since doing that crap by hand is tedious and of little value.