I don't know if you've ever gone to meetings or worked the 12 steps (there is a good study up in the stickies)...but that's where I learned to forgive myself and forgive my son both. It's a process that begins with willingness and grows as we go. I highly recommend it.
Hugs