diff --git a/64 Nicomachus/javascript/nicomachus.html b/64 Nicomachus/javascript/nicomachus.html
new file mode 100644
index 00000000..2fe069f8
--- /dev/null
+++ b/64 Nicomachus/javascript/nicomachus.html
@@ -0,0 +1,9 @@
+
+
+NICOMACHUS
+
+
+
+
+
+
diff --git a/64 Nicomachus/javascript/nicomachus.js b/64 Nicomachus/javascript/nicomachus.js
new file mode 100644
index 00000000..7abe1d51
--- /dev/null
+++ b/64 Nicomachus/javascript/nicomachus.js
@@ -0,0 +1,91 @@
+// NICOMACHUS
+//
+// Converted from BASIC to Javascript by Oscar Toledo G. (nanochess)
+//
+
+function print(str)
+{
+ document.getElementById("output").appendChild(document.createTextNode(str));
+}
+
+function input()
+{
+ var input_element;
+ var input_str;
+
+ return new Promise(function (resolve) {
+ input_element = document.createElement("INPUT");
+
+ print("? ");
+ input_element.setAttribute("type", "text");
+ input_element.setAttribute("length", "50");
+ document.getElementById("output").appendChild(input_element);
+ input_element.focus();
+ input_str = undefined;
+ input_element.addEventListener("keydown", function (event) {
+ if (event.keyCode == 13) {
+ input_str = input_element.value;
+ document.getElementById("output").removeChild(input_element);
+ print(input_str);
+ print("\n");
+ resolve(input_str);
+ }
+ });
+ });
+}
+
+function tab(space)
+{
+ var str = "";
+ while (space-- > 0)
+ str += " ";
+ return str;
+}
+
+var str;
+var b;
+
+// Main program
+async function main()
+{
+ print(tab(33) + "NICOMA\n");
+ print(tab(15) + "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY\n");
+ print("\n");
+ print("\n");
+ print("\n");
+ print("BOOMERANG PUZZLE FROM ARITHMETICA OF NICOMACHUS -- A.D. 90!\n");
+ while (1) {
+ print("\n");
+ print("PLEASE THINK OF A NUMBER BETWEEN 1 AND 100.\n");
+ print("YOUR NUMBER DIVIDED BY 3 HAS A REMAINDER OF");
+ a = parseInt(await input());
+ print("YOUR NUMBER DIVIDED BY 5 HAS A REMAINDER OF");
+ b = parseInt(await input());
+ print("YOUR NUMBER DIVIDED BY 7 HAS A REMAINDER OF");
+ c = parseInt(await input());
+ print("\n");
+ print("LET ME THINK A MOMENT...\n");
+ print("\n");
+ d = 70 * a + 21 * b + 15 * c;
+ while (d > 105)
+ d -= 105;
+ print("YOUR NUMBER WAS " + d + ", RIGHT");
+ while (1) {
+ str = await input();
+ print("\n");
+ if (str == "YES") {
+ print("HOW ABOUT THAT!!\n");
+ break;
+ } else if (str == "NO") {
+ print("I FEEL YOUR ARITHMETIC IS IN ERROR.\n");
+ break;
+ } else {
+ print("EH? I DON'T UNDERSTAND '" + str + "' TRY 'YES' OR 'NO'.\n");
+ }
+ }
+ print("\n");
+ print("LET'S TRY ANOTHER.\n");
+ }
+}
+
+main();