<!-- language-all: lang-java --> # Java, <s>65</s> 61 bytes Golfed: n->{int a=1,b=2;for(;n-->0;a-=b)b=a-b;System.out.println(a);} This uses the standard trick of calculating Fibonacci using only two variables to hold the state, but modified to work with subtraction. I am aware that theoretically, `System.out.print()` _should_ work here but in practice it is inconsistent with flushing output and sometimes (often enough to be an issue) will literally print _nothing_ using the Oracle JVM. This function is zero-indexed. [Try it online!][1] Ungolfed: public class FibtractionFibonacciButWithSubtraction { public static void main(String[] args) { for (int i : new int[] { 1, 2, 11, 14, 21, 24, 31 }) { f(n -> { int a = 1, b = 2; for (; n-- > 0; a -= b) b = a - b; System.out.println(a); } , i); } } private static void f(java.util.function.Consumer<Integer> function, int n) { function.accept(n); } } [1]: https://tio.run/##VVDBToNAEL3zFe8ICRCpnqztQRMTzz14MB4WusWpMEuW2RrT8O04EMG4yebN7Hsvs/PO5mIy11k@Hz/HqjF9j2cqxZtKyLGWjk1V0WOQV5KPQ1gpXKMI6ELZUIVejChcHB3RGuL4IJ64fnuH8XWfqBZ6Ts4jJhYQ7sH2C1qr5IoixSZFoVDcaTm1ircFhsWq5nhkZPu1x@SGwW5ylwqb7crMg7bgLMMeN1tVZTuUycpjNugryj/T4bsX2@YuSN7p56Xh2CQLPYxIQb/tEE132t7TxYj9t/4pPmukeRBq8lPgOav8yXEfWusfXlhsbf0eC5XOa/Aa0eLQ0G0nMc8jh2iIxh8