#Python 2, <s>130</s> <s>116</s> 113 bytes <!-- language: lang-py --> def f(n):S=`n`;n and f(n-1);print S+"."*all([n%10,set(S)<=set("0689"),(u""+S[::-1]).translate({54:57,57:54})!=S]) Defines a function `f` which prints the numbers to STDOUT, in ascending order. This time I thought I'd take a leaf out of @feersum's book with `.translate` :) Expanded: <!-- language: lang-py --> def f(n): S=`n` n and f(n-1) # Recurse if not 0 print S+"."*all([n%10, # Not divisible by 10 set(S)<=set("0689"), # Consists of 0689 (u""+S[::-1]).translate ({54:57,57:54})!=S]) # When rotated is not itself --- Previous solution: <!-- language: lang-py --> def f(n):S=`n`;print S+"."*all([n%10,set(S)<=set("0689"),eval("S[::-1]"+".replace('%s','%s')"*3%tuple("6a96a9"))!=S]);n and f(n-1) Thanks to @xnor for showing me the `.replace` trick some time ago.