Now the first thing to note is that I'm going to delete any stupid posts or posts that say nothing useful (and posts that basically say "I recommend that you don't write such an algorithm yourself" will be deleted).
If you're wondering about my "ability" to create code then here are some examples of what I have done (some of which are based upon or include the work of other open source projects - so citing other open source code worth looking at is fine as a response):
https://github.com/ciyam/ciyam/blob/master/src/diff.h - an O(NP) diff implementation (that works out the "path" not just the distance)
https://github.com/ciyam/ciyam/blob/master/src/date_time.cpp - a huge amount of stuff for date and time things
https://github.com/ciyam/ciyam/blob/master/src/btree.h - a generic B+Tree implementation
https://github.com/ciyam/ciyam/blob/master/src/cache.h - a generic multi-region cache implementation
Okay - so hopefully after seeing those examples you can believe that I am not an idiot who doesn't know how to code and can therefore perhaps consider looking at the following:
https://github.com/ciyam/ciyam/blob/master/src/crypt_stream.cpp#L442(it is a memory-hard POW algo that was designed to work in a similar manner to scrypt)
It is entirely likely that I might end up using Cuckoo instead (as I quite like that algo but I just think it might be a little too complex for what I want) but for now I am using this so I'd like to see if anyone can find a serious issue with it.
(there might be a bounty offered later - but for now am just seeing if anyone is curious to take a look)