Definitions and restrictions

Rare   numbers are positive integers    n    where:

    n    is expressed in base ten
    r    is the reverse of    n      (decimal digits)
    n    must be non-palindromic   (n ≠ r)
    (n+r)    is the   sum
    (n-r)    is the   difference   and must be positive
   the   sum   and the   difference   must be perfect squares


Task

   find and show the first   5   rare   numbers
   find and show the first   8   rare   numbers       (optional)
   find and show more   rare   numbers                (stretch goal)


Show all output here, on this page.



References

   an   OEIS   entry:   A035519          rare numbers.
   an   OEIS   entry:   A059755   odd rare numbers.
   planetmath entry:   rare numbers.     (some hints)
   author's  website:   rare numbers   by Shyam Sunder Gupta.     (lots of hints and some observations).


#!/usr/bin/perl
 
use strict; # https://rosettacode.org/wiki/Rare_numbers
use warnings;
use integer;
 
my $count = 0;
my @squares;
for my $large ( 0 .. 1e5 )
  {
  my $largesquared = $squares[$large] = $large * $large; # $large ** 2;
  for my $small ( 0 .. $large - 1 )
    {
    my $n = $largesquared + $squares[$small];
    2 * $large * $small == reverse $n or next;
    printf "%12s %s\n", $n, scalar reverse $n;
    $n == reverse $n and die "oops!"; # palindrome check
    ++$count >= 5 and exit;
    }
  }