Permanently Deleted

  • Neckbeard_Prime [they/them,he/him]
    ·
    edit-2
    4 years ago

    I spent way longer than I care to admit slapping together a Java program to chew through the first thousand or so. Here's the log output -- some get really damned close, but nothing exact (or within 16 decimal digit precision) yet.

    spoiler
    [INFO ] 2021-03-18 01:37:24.187 [main] Main - Beginning formula tester run.
    [INFO ] 2021-03-18 01:37:24.582 [main] FormulaTester - Found near match with error value of +/- 0.0000004298293256: 2, 264, 993
    [INFO ] 2021-03-18 01:37:24.794 [main] FormulaTester - Found near match with error value of +/- 0.0000004298293256: 2, 993, 264
    [INFO ] 2021-03-18 01:37:31.815 [main] FormulaTester - Found near match with error value of +/- 0.0000000953396933: 35, 132, 627
    [INFO ] 2021-03-18 01:37:31.916 [main] FormulaTester - Found near match with error value of +/- 0.0000000953396933: 35, 627, 132
    [INFO ] 2021-03-18 01:37:45.415 [main] FormulaTester - Found near match with error value of +/- 0.0000006695134379: 101, 133, 881
    [INFO ] 2021-03-18 01:37:45.569 [main] FormulaTester - Found near match with error value of +/- 0.0000006695134379: 101, 881, 133
    [INFO ] 2021-03-18 01:37:51.774 [main] FormulaTester - Found near match with error value of +/- 0.0000000953396933: 132, 35, 627
    [INFO ] 2021-03-18 01:37:51.896 [main] FormulaTester - Found near match with error value of +/- 0.0000000953396933: 132, 627, 35
    [INFO ] 2021-03-18 01:37:51.996 [main] FormulaTester - Found near match with error value of +/- 0.0000006695134379: 133, 101, 881
    [INFO ] 2021-03-18 01:37:52.157 [main] FormulaTester - Found near match with error value of +/- 0.0000006695134379: 133, 881, 101
    [INFO ] 2021-03-18 01:38:19.067 [main] FormulaTester - Found near match with error value of +/- 0.0000004298293256: 264, 2, 993
    [INFO ] 2021-03-18 01:38:19.274 [main] FormulaTester - Found near match with error value of +/- 0.0000004298293256: 264, 993, 2
    [INFO ] 2021-03-18 01:39:34.405 [main] FormulaTester - Found near match with error value of +/- 0.0000000953396933: 627, 35, 132
    [INFO ] 2021-03-18 01:39:34.426 [main] FormulaTester - Found near match with error value of +/- 0.0000000953396933: 627, 132, 35
    [INFO ] 2021-03-18 01:40:26.750 [main] FormulaTester - Found near match with error value of +/- 0.0000006695134379: 881, 101, 133
    [INFO ] 2021-03-18 01:40:26.757 [main] FormulaTester - Found near match with error value of +/- 0.0000006695134379: 881, 133, 101
    [INFO ] 2021-03-18 01:40:51.955 [main] FormulaTester - Found near match with error value of +/- 0.0000004298293256: 993, 2, 264
    [INFO ] 2021-03-18 01:40:52.016 [main] FormulaTester - Found near match with error value of +/- 0.0000004298293256: 993, 264, 2
    [INFO ] 2021-03-18 01:40:53.853 [main] FormulaTester - No valid solutions found for range 0 to 1000.
    [INFO ] 2021-03-18 01:40:53.853 [main] Main - Formula tester run complete.
    

    Edit: re-running with an upper bound of 10,000 now. This will probably take a couple of hours since it's running a triple-nested loop without any duplicate checks.

    Edit 2:

    Found on Google+ by John Baez

    https://plus.google.com/+johncbaez999

    Don't try this puzzle

    It looks childish, but this puzzle is sadistically difficult. Saying that 95% of people can't solve this is like saying 95% of people can't jump over a skyscraper.

    Here is the simplest solution:

    apple = 154476802108746166441951315019919837485664325669565431700026634898253202035277999

    banana = 36875131794129999827197811565225474825492979968971970996283137471637224634055579

    pineapple = 4373612677928697257861252602371390152816537558161613618621437993378423467772036

    ...I think it is going to be running for a while.

    • Segorinder [any]
      ·
      4 years ago

      Cool, so using my current method all I need to get the solution is, uh, a million trillion trillion trillion trillion exabytes of RAM... per particle in the universe.

    • Pezevenk [he/him]
      ·
      edit-2
      4 years ago

      You can implement a sieve. I found that all 3 numbers have to be different and that you can assume that they don't share a common factor (also obviously you can assume that x<y<z so you don't have to recheck every one of the permutations), so you can skip these numbers for starters, and then you can figure out more restrictions.

      • Neckbeard_Prime [they/them,he/him]
        ·
        edit-2
        4 years ago

        It can definitely be optimized, but the point is that brute force isn't a viable option in the first place. Maybe with something GPU-based where you can stream a ludicrous number of simultaneous calculations, but I don't know if that will let you get into 80+ digit (roughly 67+ bit) values with exact precision. OpenCL caps out at 64-bit for integers, or at least used to:

        https://stackoverflow.com/questions/6366996/work-with-128bit-or-256bit-unsigned-integers-in-opencl

        (Edit: I don't know. I haven't worked with OpenCL. Me enterprise monkey. It sounds like you'd have to implement your own equivalent to BigDecimal/BigInteger around the GPU registers, which starts adding a lot of overhead for packing and unpacking your parameter triad values.)

        ...and then there's the problem of calculating exact-precision intermediate results. There's a reason the NSA pissed dump trucks full of money into PRISM.

        • Pezevenk [he/him]
          ·
          4 years ago

          Yeah idk... I've found a bunch of restrictions but it's still pretty huge...

    • Pezevenk [he/him]
      ·
      4 years ago

      Oh, I forgot some more restrictions: the largest number has to be smaller than 4 times the sum of the other two, but larger than 2.5 times their sum.