Donation made, but the challenge continues

This weekend, I posted a brainteaser, promising to pay $100 to whomever solved it. Although the decoding algorithm has not yet been discovered, Mr. Batuhan Bozkurt, who found my puzzle through Reddit, did manage to figure out what the second landmark was. He generously suggested that I donate the prize money to Doctors Without Borders. That is an excellent destination for the money, so I was only too happy to oblige:

$100 to Doctors Without Borders, paid by myself, on behalf of the winner

There you go, for discovering the coordinates of the Great Pyramid of Giza and the Eiffel tower, we can do a little to help people in need of medical help in places where such is direly needed.

.row { overflow: hidden; }.digit { float: left; font: 10px/1em "Courier New", Courier, monospace; letter-spacing: 0.75ex; }

The challenge continues

As Mr. Bozkurt suggested, the brute force solution is not entirely satisfactory and wouldn't work when there is not a sufficiently large set of input data. Also, it wasn't exactly what I had in mind. I'm still hoping for somebody to discover the actual pattern. I can decode these numbers with pen and paper in a few minutes. Hence the following new and static set of numbers. A second prize of $100 is up for grabs for the person who manages to correctly identify the third landmark and describes how to quickly and easily extract a location encoded in this manner, effectively explaining my manual decoding process.

2626513077
6549028370
9308377132
5987478672
9318473400
5758758671
1701226107
3203310324
0008077080
7467243472

3843646663
4977647669
3314933944
1366336361
6388336983
1816904005
6988650225
3313573204
3363677513
1347652260

4659993224
5327417344
5763780117
5633929510
5633789328
1639733691
5355453454
4762970942
4433939439
5677955559

5309032974
8611231555
2312372974
9196283474
7640679475
2974972974
4375771374
5333533533
9228589625
5344734475

2094969218
9690093124
8928733674
0213139200
0884819218
2112313620
9699969279
9327439234
0054403405
1991189118

8511094831
3502024437
8543814253
1508069550
1872704392
6501959669
9318083111
3576755575
1745858355
8802288202

5551555613
8244262894
8547446457
0005010510
1551931599
5870416497
0067651597
9732852649
3308156594
5906466417

0332300493
1366338577
5863902088
3673921092
5301986352
0463999640
4352555243
1871110111
3326333663
5602990599

7766676487
7074170471
4945744975
9727929597
7635536652
6628076487
2980626975
7411746499
0209674987
3110676987

2556057111
4227889054
4291147358
8222333112
2326186139
4355737553
7396137966
4542844557
8226082882
2107322072

2261196221
8676887286
3959753975
8568968982
3193111359
1417213379
0934698929
0098658283
2839081251
1651596922

2312299574
5980877560
8980546689
8382658012
8917764639
2814515844
8912891188
0387283025
5560755055
7960290920

8642940377
9117500221
4611511176
8627960562
4129549344
8117918711
9482898892
1057575051
3611444561
4529529555

9342535143
0326130060
0583633056
8360969080
9120391390
9326988940
9160129317
0526949009
8120357157
0390501233

As before, post a comment with your answer and the process and you might win $100 and a lot of geek cred.

Hints

Try figuring this out on your own as much as possible, without looking in the comments below. If you need a hint, click the button below.

Next hint #btn-hint { margin: 1em 1ex; } .spoiler { background: silver; color: silver; } .spoiler:hover { background: transparent; color: inherit; } .hint { background: #EEE; border: 1px solid silver; display: none; font-weight: bold; padding: 1em; margin: 1em 0; } .hint .rot13 { font-weight: normal; } .hint-2 { position: relative; z-index: 2; } .hint-1 .digit { border: 1px solid black; margin: 0 1px 1px 0; } .hint-2 .digit { position: relative; } .hint-2 .digit:after { background: #CCF; content: ''; display: block; height: 20%; left: 40%; margin-left: -0.125ex; position: absolute; top: 40%; width: 20%; z-index: -3; } .hint-2 .digit:before { background: #CFC; content: ''; display: block; height: 10%; margin-left: -0.125ex; position: absolute; width: 10%; z-index: -2; } .hint-2 .q0:before { bottom: 50%; right: 50%; } .hint-2 .q1:before { bottom: 50%; left: 50%; } .hint-2 .q2:before { right: 50%; top: 50%; } .hint-2 .q3:before { left: 50%; top: 50%; } .hint-3 .digit:after { height: 100%; left: 0; margin: 0; top: 0; width: 100%; } .hint-3 .digit:before { height: 50%; width: 50%; } .hint-4 .lines { border-color: #99C; border-style: solid; position: absolute; z-index: -1; } .hint-4 .lines:before, .hint-4 .lines:after { border-color: #99C; border-style: solid; content: ''; display: block; position: absolute; } .hint-4 .hor { border-width: 1px 0; height: 39%; left: 0; margin-top: -1px; top: 5%; width: 100%; } .hint-4 .hor:after { border-width: 1px 0; height: 49%; margin-top: -1px; top: 25%; width: 100%; } .hint-4 .hor:before { border-width: 1px 0 0; height: 0; margin-top: -1px; top: 50%; width: 100%; } .hint-4 .q0 .hor, .hint-4 .q1 .hor { top: 55%; } .hint-4 .ver { border-width: 0 1px; height: 100%; left: 5%; margin-left: -2px; top: 0; width: 39%; } .hint-4 .ver:after { border-width: 0 1px; height: 100%; left: 25%; margin-left: -1px; width: 49%; } .hint-4 .ver:before { border-width: 0 1px 0 0; height: 100%; left: 50%; margin-left: -1px; width: 0; } .hint-4 .q0 .ver, .hint-4 .q2 .ver { left: 55%; } .hint-5 .digit:after { height: 50%; width: 50%; } .hint-5 .q0:after { left: 50%; top: 50%; } .hint-5 .q1:after { right: 50%; top: 50%; } .hint-5 .q2:after { bottom: 50%; left: 50%; } .hint-5 .q3:after { bottom: 50%; right: 50%; } .hint-6 .marker { border: 1px solid red; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; display: block; height: 10%; margin: -1px auto auto -2px; position: absolute; width: 10%; } .hint-7 .digit { overflow: hidden; } .hint-7 .found { border: 2px solid blue; margin: -4px auto auto -5px; padding: 2px; } .hint-7 .found:before { border-top: 1px solid blue; content: ''; height: 0; position: absolute; top: 50%; width: 20em; } .hint-7 .q0 .found:before, .hint-7 .q2 .found:before { left: 100%; } .hint-7 .q1 .found:before, .hint-7 .q3 .found:before { right: 100%; } .hint-7 .found:after { border-left: 1px solid blue; content: ''; height: 20em; position: absolute; right: 50%; width: 0; } .hint-7 .q0 .found:after, .hint-7 .q1 .found:after { top: 100%; } .hint-7 .q2 .found:after, .hint-7 .q3 .found:after { bottom: 100%; }

Hint 9: Tbbtyr Zncf yrgf lbh frnepu sbe yngvghqr/ybatvghqr naq frr jung vf ng gung ybpngvba.

Hint 8: Vagrecerg n frdhrapr bs 7 qvtvgf nf 3 qvtvgf sbe qrterrf, 2 qvtvgf sbe zvahgrf, 2 qvtvgf sbe frpbaqf. Gur svefg pbbeqvangr vf (Abegurea) yngvghqr, gur frpbaq pbbeqvangr vf (Rnfgrea) ybatvghqr.

Hint 7: Gubfr cvacbvag na rknpg qvtvg va gur terra oybpx. Gung'f gur bar V'z ybbxvat sbe.

Hint 6: Gurer ner 2 rkprcgvbaf: 1 va n ebj, 1 va n pbyhza.

Hint 5: V pnyy guvf gur "xrl" dhnqenag. Nyy qvtvgf va gur nqwnprag, aba-xrl dhnqenagf nyfb bpphe va gur pbeerfcbaqvat ebjf/pbyhzaf va gur xrl dhnqenag, ohg fbzrguvat vf jebat...

Hint 4: Qenjvat yvarf guebhtu gur oyhr dhnqenagf guebhtu 10 qvtvgf ubevmbagnyyl nf jryy nf iregvpnyyl zrnaf gurl vagrefrpg va gur dhnqenag gung vf bccbfvgr gur terra dhnqenag.

Hint 3: Rnpu oybpx pna guhf or fcyvg hc vagb dhnqenagf bs 5k5 qvtvgf.

Hint 2: Gur 4 qvtvgf va gur zvqqyr bs rnpu oybpx nyjnlf unir 3 bqq qvtvgf (oyhr) naq 1 rira qvtvg (terra).

Hint 1: Gur frg pbafvfgf bs tebhcf bs 10k10 qvtvgf.

//<![CDATA[ function rot13(txt) { var rv = ''; for (var i = 0; i < txt.length; ++i) { var c = txt.charCodeAt (i); if ((c > 64 && c < 78) || (c > 96 && c < 110)) c += 13; else if ((c > 77 && c < 91) || (c > 109 && c < 123)) c -= 13; rv += String.fromCharCode (c); } return rv; } var hint_idx = 1; var blocks = document.querySelectorAll ('.digit'); function next_hint () { switch (hint_idx) { case 2 : for (var i = blocks.length - 1; i >= 0; --i) { var raw = blocks [i].innerHTML.replace (/\D/g, ''); var n1 = parseInt (raw.charAt (44)); var n2 = parseInt (raw.charAt (45)); var n3 = parseInt (raw.charAt (54)); if (~n1 & 1) blocks [i].className += ' q0'; else if (~n2 & 1) blocks [i].className += ' q1'; else if (~n3 & 1) blocks [i].className += ' q2'; else blocks [i].className += ' q3'; } break; case 3 : for (var i = blocks.length - 1; i >= 0; --i) { var div = document.createElement ('div'); div.className = 'lines hor'; blocks [i].appendChild (div); div = document.createElement ('div'); div.className = 'lines ver'; blocks [i].appendChild (div); } break; case 6 : case 7 : for (var i = blocks.length - 1; i >= 0; --i) { var raw = blocks [i].innerHTML.replace (/\D/g, ''); var o_hor, r_hor, o_ver, r_ver; var i_hor, i_ver; switch (blocks [i].className.match (/ q(\d)/)[1]) { case '0' : o_hor = 50; o_ver = 5; r_hor = r_ver = 55; break; case '1' : o_hor = 55; o_ver = 0; r_hor = r_ver = 50; break; case '2' : o_hor = 0; o_ver = 55; r_hor = r_ver = 5; break; case '3' : o_hor = 5; o_ver = 50; r_hor = r_ver = 0; break; } for (var j = 0; j < 5; ++j) { var ref_hor = ''; var ref_ver = ''; for (var k = 0; k < 5; ++k) { ref_hor += raw [r_hor + (j * 10) + k]; ref_ver += raw [r_ver + (k * 10) + j]; } for (var k = 0; k < 5; ++k) { var v_hor = raw [o_hor + (j * 10) + k]; var v_ver = raw [o_ver + (k * 10) + j]; if (ref_hor.indexOf (v_hor) < 0) i_hor = o_hor + (j * 10) + k; if (ref_ver.indexOf (v_ver) < 0) i_ver = o_ver + (k * 10) + j; } } var div = document.createElement ('div'); if (hint_idx == 6) { div.className = 'marker'; div.style.left = ((i_hor % 10) * 10) + '%'; div.style.top = (i_hor - (i_hor % 10)) + '%'; blocks [i].appendChild (div); div = document.createElement ('div'); div.className = 'marker'; div.style.left = ((i_ver % 10) * 10) + '%'; div.style.top = (i_ver - (i_ver % 10)) + '%'; } else { div.className = 'marker found'; div.style.left = ((i_hor % 10) * 10) + '%'; div.style.top = (i_ver - (i_ver % 10)) + '%'; } blocks [i].appendChild (div); } break; } var e = document.getElementById ('hint-' + hint_idx); if (e) { var puzzles = document.querySelectorAll ('.digits'); for (var i = puzzles.length - 1; i >= 0; --i) { puzzles [i].className += ' hint-' + hint_idx; } e.style.display = 'block'; var spans = e.querySelectorAll ('.rot13'); for (var i = spans.length - 1; i >= 0; --i) { spans [i].innerHTML = rot13 (spans [i].innerHTML); } ++hint_idx; return !!document.getElementById ('hint-' + hint_idx); } return false; } //>

Solved!

Redditor Bearasaurus found my puzzle through the Reddit discussion and was the first genius among the clever people in /r/puzzles to have solved the problem. He wins eternal fame and glory, and the $100 prize!